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标记文件相关联的进程,发现同事只是直接删除日志,并没有终止项目,所以项目依然在占用日志文件,导致文件没法真正删除。我又让同事把他们的项目重启了一下,再用两个磁盘空间查询命令确认空间情况,这次两个命令显示空间状态一致都已腾出空间,我的项目也可以正常启动了。
标签:文件,命令,排查,处理,space,No,磁盘空间,日志 From: https://www.cnblogs.com/nagiumi-misaka/p/17878098.html