Linux磁盘告警应先用df -h和df -i定位高占用挂载点及inode耗尽,再用du -sh * | sort -hr逐层查找大目录,接着用lsof +L1揪出已删未释放的大文件,最后按场景安全清理。

Linux磁盘空间告警?别急着删日志,先找准“真凶”。多数情况下,不是磁盘真的满了,而是某个目录悄悄吃掉了大量空间,或者有被删除但进程仍在写入的大文件占着 inode 不放。排查关键在分层定位 + 快速验证,下面按高频场景直给操作路径。
看整体:用 df 确认哪块设备真紧张
注意:df -h 显示的是挂载点空间,不是目录大小。先执行:
- df -h —— 找出使用率超 85% 的挂载点(如 /、/var、/home)
- df -i —— 检查 inode 是否耗尽(尤其 /var/log 或容器环境常见,即使磁盘空,inode 满也会报“no space left on device”)
- 若 /dev/mapper/xxx 或 /dev/nvme0n1p2 这类设备使用率高,说明问题在该分区;若 /boot 使用率 100%,大概率是旧内核没清理
找大目录:用 du 定位空间“黑洞”
进到高负载挂载点下(比如 df 显示 /var 使用率高,就 cd /var),运行:
- du -sh * | sort -hr | head -10 —— 查看当前层各子目录大小,从大到小排前 10
- 发现某目录异常大(如 /var/log/journal、/var/lib/docker/overlay2),再进该目录重复上一步,逐层钻取
- 快捷技巧:用 du -sh .[!.]* * 包含隐藏目录(如 .cache、.local)
揪隐形文件:已删除但未释放的大文件
某些进程(如 tail -f、rsyslog、java 应用)打开大文件后被 rm,但句柄未关,空间不释放。查法:
标签: linux java node docker app ubuntu ai
还木有评论哦,快来抢沙发吧~