df 显示 100%的问题

Posted 军棋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了df 显示 100%的问题相关的知识,希望对你有一定的参考价值。

问题

        使用 df 命令查看,某个分区使用率已经达到100%,但是用du 命令统计该分区,发现该分区空间剩余10G可用。
        实例:
            
 
分析
        如果有文件在打开状态的时候被删除了,系统还是会以为这些文件还存在。所以df 仍然会当这些文件还存在并且列入统计中。
 
解决:   
   # lsof | grep  "deleted" 
        查看那些已被删除但仍被系统打开的文件,找到相对应的服务,重启。或者找到相对应的pid,kill 掉。
 
        实例:
            
            这里发现nginx日志文件处于这种状态,nginx日志被删除,但没有重启nginx服务,空间没有被释放。
            重启nginx服务,等待4、5分钟,df 的结果恢复正常。
 
 
du命令 和 df命令 的区别:
du:只计算文件占有空间大小,不计算文件系统各自meta数据,如inode、inode map、disk map等。
df:会计算各自meta数据,另外当该目录的文件被删除了,却仍有进程hold住这个文件句柄,此时这个文件的block并未被释放,df仍会统计到该文件的block,但du不会。

 

 

以上是关于df 显示 100%的问题的主要内容,如果未能解决你的问题,请参考以下文章

[linux]df 磁盘100%Used告警,du显示目录状态良好的故障排查

Linuxdf 磁盘100%Used告警,du显示目录状态良好的故障排查

一次磁盘占用率 100% 的排查记录

linux 磁盘100% 清理

一个C++工程CPU占用100%问题的排查

一个C++工程CPU占用100%问题的排查