服务器磁盘告警一招搞定:高效实用三秒定位空间元凶命令
摘要
磁盘使用率飙升至98%时,业务随时可能中断。运维人员通常会立即登录服务器排查,但面对
磁盘使用率飙升至98%时,业务随时可能中断。运维人员通常会立即登录服务器排查,但面对日志、Docker容器、系统缓存或用户文件等潜在元凶,手动逐层扫描往往效率低下,错失黄金处理窗口。

根据多年实战经验,高效的解决路径并非盲目摸索,而是直击瓶颈所在。下面这套组合方案,可在3秒内锁定罪魁祸首,10分钟内释放数十GB空间,建议收藏备用。
一条命令快速定位磁盘空间占用TOP10
直接复制执行以下命令:
du -sh /* 2>/dev/null | sort -rh | head -10
执行效果示例:
23G /var
9.8G /home
4.2G /usr
2.1G /opt
1.5G /tmp
...
最大占用目录瞬间暴露,不再需要猜测。
这条命令的原理如下:
du -sh /* 统计根目录下第一层目录的大小(-h 参数输出人类可读格式);2>/dev/null 屏蔽权限不足的报错,保持输出清爽;sort -rh 按大小降序排列;head -10 仅显示前10个“高消耗”目录。
定位到大户后,进一步“剥洋葱”深入分析:
cd /var && du -sh * 2>/dev/null | sort -rh | head -10
以下变种同样值得收藏:
- 当前目录最常用版:
du -sh * 2>/dev/null | sort -rh | head -10 - 包含隐藏文件夹:
du -sh .* * 2>/dev/null | sort -rh | head -15 - 精确 MB 排序:
du -sm * 2>/dev/null | sort -rn | head -10
CentOS / Ubuntu 安全清理脚本(直接复制可用)
(1) 最有效的日志清理(推荐优先执行)
清空所有 .log 文件,保留文件结构,不影响服务运行。
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
(2) Ubuntu / Debian 专用一键清理
sudo apt-get clean && sudo apt-get autoclean
sudo apt-get autoremove -y
sudo journalctl --vacuum-time=14d # 保留14天日志
(3) CentOS / RHEL / Rocky / AlmaLinux 专用一键清理
sudo yum clean all
sudo rm -rf /var/cache/yum/* 2>/dev/null
sudo journalctl --vacuum-time=14d
(4) Docker 大户清理(常吃几十 GB)
docker system prune -af --volumes
(5) 临时文件快速清理
sudo rm -rf /tmp/* /var/tmp/* 2>/dev/null
效率再提升:安装 ncdu 神器
# Ubuntu/Debian
sudo apt install ncdu -y
# CentOS/RHEL/Alma
sudo dnf install ncdu -y # 或 yum install ncdu
执行 ncdu / 后,使用键盘即可浏览、删除目录,交互体验远优于手动逐个排查。
真正的运维高手,并非追求磁盘永远不爆满,而是能在30秒内精准定位爆满根源。这套流程走完,绝大多数磁盘告警场景都能快速解决。
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。