Linux“No space left on device”系统磁盘空间不足问题排查处理
Linux“No space left on device”系统磁盘空间不足问题排查处理
1 问题
今天项目测试环境自动发版失败,确认日志发现提示磁盘空间不足,不能正常生成war包,无法正常启动。
2 排查和处理
2.1 第一次排查处理
首先使用磁盘空间查询命令
df -h
发现磁盘300G全满。。。然后再用磁盘空间查询命令
du -h
查看根目录下所有文件的大小,发现隔壁共用一个测试服务器的项目stdout日志输出由于长期忘记清理,从上线起一直累积,达到了惊人的两百多G的大小。。。赶紧联系了同事处理,他把stdout日志文件直接给删了。我再用du -h命令查看,空间占用直接100G不到了,完事,重启,收工!
2.2 第二次排查处理
结果一点也不顺利,再次打包依然失败,原因还是磁盘空间不足。我用du命令查看,确认有空间;但是用df命令查看,还是300G全满。我查了一些资料,知道了对于一些正被占用的文件,删除操作只是对其进行deleted标记,表面上看起来文件已经删除,实际上只是被隐藏,直到占用结束才会删除。看起来,du命令会略过被隐藏的deleted标记文件,但是df还是会把实际的占用情况展示出来。
接下来使用文件关联查询命令
lsof | grep deleted
查看deleted标记文件相关联的进程,发现同事只是直接删除日志,并没有终止项目,所以项目依然在占用日志文件,导致文件没法真正删除。我又让同事把他们的项目重启了一下,再用两个磁盘空间查询命令确认空间情况,这次两个命令显示空间状态一致都已腾出空间,我的项目也可以正常启动了。
本文来自博客园,作者:pjgyr,转载请注明原文链接:https://www.cnblogs.com/nagiumi-misaka/p/17878098.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律