df 与 du 大小不一致的错误
半夜突然被报警惊醒,提示磁盘空间不足。
磁盘大小
到服务器上,df -lh
查看
根目录的确利用率有 92% 了
然后使用 sudo du -lh --max-depth=1
查看是哪个文件占了空间
发现 / 目录下的文件都很小啊,根本不可能占到 400G
消失的空间
翻阅了很多文档,最后基本可以确认,硬盘空间消失是因为删除的文件被其他程序引用,导致空间无法回收,所以解决的方法也很简单,找到引用文件的相关进程,然后停掉进程让空间回收即可,查找引用已删除文件的方法如下:
1 | # 按已删除文件大小逆向排序 |
得到如下结果
1 | vim 36597 yiyiyi 4u REG 252,1 363990667264 19398909 /data/zai-model/.xxx.txt.swp (deleted) |
把 pid 为 36597 的进程删除,再次用df查看磁盘空间。
目测就恢复正常了。
df 与 du 大小不一致的错误