linux磁盘空间满处理情况
使用df -h命令查看空间使用情况,磁盘空间使用了100%。
常规方法,清日志、删除无用的文件。删除后再次查看空间大小。
现在遇到的情况是,使用du --max-depth=1 -h / 命令查看,各目录使用空间总和只占空间一部分,远没有达到100%的使用率。
原因:系统磁盘空间未释放,可能原因是忽略了有应用一直在往其中写数据,直接删除某文件无法释放磁盘空间。
操作步骤:
1、执行 lsof | grep deleted 发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程)
2、lsof | grep deleted |wc -l 可以看到有多少个进程。
3、需要kill进程数量多时,使用命令。
lsof | grep deleted | awk '{if (NR > 1){print $2}}'|uniq | xargs kill -9
awk '{if (NR > 1){print $2}}',获取第二列
uniq,去重复
xargs kill -9 ,就是将获取第二列,再通过uniq去重的值,传递给xargs,然后kill -9 进程号
4、再查看空间使用率,已经降下来了。此次再启相关的应用。
清日志时,可以使用此种方式。 echo “ ” 》/tmp/acess.log
通过这种方法,磁盘空间不但可以马上释放,也可使用进程继续向文件写入日志
当然也可以有多种方式避免日志空间满
比如,在定时任务里执行,contab -e
* 1,7,13,19 * * * for i in `find / -type f -regex '.*\.log\|.*\.out\|.*\.txt' -size +100M 2>/dev/null`; do echo >$i; done
定时任务检查指定文件类型超过100M,则会清日志。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫