由du,df 得出不同结果反应出的问题
Posted ddddn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由du,df 得出不同结果反应出的问题相关的知识,希望对你有一定的参考价值。
最近遇到了因为某种异常情况导致某目录下日志暴增,在修复异常情况后,发现pm2 不能启动,查看日志发现原因为空间不足。
使用du -sh查看确实为空间不足。在rm -rf 删除之后,仍然不能启动。这时用df -h发现该目录所在分区磁盘使用率已近100%。
出现该情况的原因是:
du与df计算空间大小的方法不同:
du: 是通过对所有文件逐个获取文件大小的,最后累加(所以在文件数量很大时,会很慢)。
df: 是通过读取磁盘快信息(会很快)。
当rm -rf删掉文件后,du就找不到这些文件,也就不会进行大小计算了。而被进程引用的文件所占用的磁盘块信息仍然存在。所以出现了这种差异。
可以通过lsof |grep (deleted)|awk ‘{print $2}‘|sort -u|xargs kill 杀掉进程,释放资源。
以上是关于由du,df 得出不同结果反应出的问题的主要内容,如果未能解决你的问题,请参考以下文章