Linux磁盘空间排查需按定位、分析、清理、预防四步进行:先用df -h查高占用分区,再用du和find找大文件,结合lsof +L1查已删未释放文件;清理时区分日志、缓存、临时文件并规避风险;最后通过定时监控、ncdu工具和空间预留实现长效管理。

Linux磁盘空间不足是导致服务异常、日志写入失败、甚至系统卡死的常见原因。排查关键不在于“看哪里满”,而在于“谁在持续占用、是否可清理、有无异常增长”。下面从定位、分析、清理、预防四个层面讲透。
用 df -h 查看各挂载点使用率,重点关注 Use% 超过 85% 的分区。注意别只盯 / 根分区——/var、/home、/tmp、/var/log 等子目录常独立挂载,容易被忽略。
若 df 显示某分区 100% 却仍能写入,可能是被已删除但未释放句柄的大文件占着空间(常见于滚动日志或长时间运行的服务)。此时需结合 lsof 检查:
df 告诉你“哪块地满了”,du 才告诉你“谁在上面盖了违章建筑”。进入高占用分区后,用以下命令逐层下钻:
特别注意:/var/log/journal(systemd-journald 日志)、/var/cache/apt/archives(Debian/Ubuntu 包缓存)、/root/.cache、容器镜像存储路径(如 /var/lib/docker)都是高频“空间黑洞”。
清理不是删得越快越好,而是要分清“能删”、“该轮转”、“需归档”:
journalctl --vacuum-size=200M 限制 journald 总大小apt clean(清下载缓存)或 apt autoremove --purge(卸载无用依赖)/tmp 和 /var/tmp,确认无活跃进程依赖后可清空;建议配置 tmpfiles.d 规则自动清理/proc、/sys 下内容;不确定的 /var/lib 子目录先查服务文档(如 MySQL 的 ibdata1、Elasticsearch 的 data 目录)靠人工排查是救火,自动化预警才是治本:
df -h | awk '$5 > 85 {print $0}',邮件或钉钉告警基本上就这些。排查磁盘空间不复杂,但容易忽略句柄残留、日志轮转失效、容器层叠加等隐性问题。养成定期看 df + 重点目录 du 的习惯,比等 OOM Killer 杀进程要轻松得多。
以上就是Linux磁盘空间如何排查_深度讲解提升系统稳定性【教学】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号