Linux磁盘空间被占用问题
3 月,跳不动了?>>> 最近遇到一个非常诡异的Linux磁盘空间被占用的问题,莫名其妙的磁盘满了,使用在根目录du -h命令查看却只占用到12%左右 可直接使用df -h命令查看却显示磁盘已经100%use了,如下图: 实在匪夷所思,后来找到问题是因为之前执行rm -rf删除操作的进程没有正常结束掉,导致虽然文件看着是被删除了(看不到了),但是那个进程还占用着,系统磁盘空间实际上没有被 释放,只是将文件标记为deleted状态,类似windows下的回收站状态。使用du查看时,因为没有该删除状态文件的节点信息,所以就不做统计,从而导致与df的结果不一致。 要解决这个问题只需要将deleted状态文件删除,则根据pid直接kill调相应进程即可。 使用losf命令列出deleted状态的进程号 lsof |grep delete 然后使用kill -9命令删除进程号即可,即上图的第二列,这样状态的文件可能会很多,如何快速删除呢?不要慌有办法的,使用以下命令即可 lsof |grep delete|grep -v grep|cut -c 9-15| xargs kill -9 清理完之后再使用df -h命令看看: 瞬间释放了84G出来,哈哈哈,开心~ 现在和du -h看到的一致了 说明 列出了当前主机中运行的进程中delete状态的进程 lsof | grep delete |