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显示目录状态良好的故障排查