Linux磁盘空间告警应按“分区→目录→进程→文件”链路排查:先用df -h定位高占用分区,再用du -sh * | sort -hr找大目录,接着用lsof +L1查已删未释放文件,最后针对Docker、日志、MySQL等场景专项处理。

Linux磁盘空间告警?别急着删日志,先定位真实“罪魁祸首”。核心思路就一条:从大到小、由表及里、聚焦活跃写入路径。
一、快速定位哪个分区快满了
用 df -h 看整体水位,重点关注 Use% 列。注意看 Mounted on 列——/var、/home、/tmp、/ 是高频爆满区。如果看到某分区 95%+,立刻往下查,别跳步。
-
df -hT多看一列文件系统类型(如 ext4/xfs),部分场景(如 xfs)需搭配不同命令清理 - 警惕
df显示已满但du统计不一致——大概率是有进程在删除大文件但句柄未释放(常见于日志轮转异常)
二、揪出谁在“偷偷吃空间”:按目录大小排序
进问题分区根目录(如 cd /var),执行:
du -sh * | sort -hr | head -20
这条命令直接列出当前层前20个最大子目录,sort -hr 按人类可读大小逆序排,一眼锁定目标。
- 若卡在某目录进不去(权限拒绝),加
sudo:sudo du -sh * 2>/dev/null | sort -hr | head -10 - 想看深层嵌套大目录?用
du -sh ./*/** 2>/dev/null | sort -hr | head -10(bash 4.0+)或分步进入可疑目录再查
三、识别“隐形占空间大户”:已删除但未释放的文件
运行 lsof +L1(需 root 权限)。输出里带 DEL 标记的文件,就是被 rm 掉但进程还在写的“幽灵文件”,占着空间不放。
标签: mysql linux java docker nginx
还木有评论哦,快来抢沙发吧~