Linux 磁盘空间排查思路:df 与 du 不一致时的定位方法

举报
小原100 发表于 2026/10/23 15:20:53 2026/10/23
【摘要】 df 显示磁盘已满但 du 找不到大文件时,通常是已删除文件仍被进程持有。本文介绍定位与处理方法。

现象

df 显示磁盘使用率 100%,但 du -sh /* 统计的总量远小于已用空间。

原因

最常见的原因是:文件已被 unlink 删除,但仍有进程持有其文件描述符,inode 未释放,空间不会回收。

定位方法

执行 lsof +L1 或 lsof | grep deleted,列出已删除但仍被占用的文件及其进程 PID。

处理

重启或重启对应服务释放句柄;不便重启时可清空文件内容(echo -n > /proc/PID/fd/N 不可直接用于所有场景,需评估)。另一个常见原因是预留空间:ext4 默认保留 5% 给 root(tune2fs -m 可查看调整)。

小结

排查顺序:lsof 找已删除文件 → 检查挂载点覆盖 → 检查文件系统预留空间。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。