Linux 磁盘空间排查思路:df 与 du 不一致时的定位方法
【摘要】 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)