答案是:先用df -h和df -i判断是否真满或inode耗尽,再用lsof +L1查已删未释放文件,结合mount和du -shx定位挂载点真实占用,最后检查ext4预留空间。

Linux磁盘空间看似“满了”,但df显示已用100%,du却加不起来——这非常常见,不是系统出bug,而是几个关键点被忽略了。排查要分两步走:先确认“真满”还是“假满”,再找真正吃空间的源头。
磁盘空间没满,但创建文件失败、服务报“No space left on device”,大概率是inode用光了。df -h只看块空间,df -i才看inode:
文件被 rm 删除,但仍有进程在写它(比如 tail -f 的日志、未重启的Java应用),空间不会归还。这是新手最常忽略的“隐形占用”:
有时候 du -sh /* 显示 /var 很大,进去一看却没几个大目录——可能 /var 下某个子目录实际是另一个分区的挂载点(比如 /var/lib/docker 挂在了独立LVM卷上),du默认跨分区统计会中断:
df显示 Size 100G、Used 95G、Avail 只有 1G,加起来差4G?这不是丢失,是 ext4 默认为 root 预留5%空间(防止系统彻底卡死):
基本上就这些。排查顺序建议固定:df -h → df -i → lsof +L1 → mount → du -shx --max-depth=1 /(-x跳过其他挂载点)→ 再逐层深入。不复杂但容易忽略。
以上就是Linux磁盘空间如何排查_常见误区解析避免新手踩坑【教学】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号