首页 > 代码库 > 由du,df 得出不同结果反应出的问题
由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 得出不同结果反应出的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。