磁盘满了别慌:df 与 du 排查清理速记
【摘要】 服务器最常见的半夜告警之一就是磁盘满了。磁盘一满,服务写不出日志、数据库拒绝写入,连 SSH 登录都可能失败。记住一个顺序:先看整体,再找大户,最后清理验证。 一、先看整体:dfdf -h 以人类可读的方式查看各分区使用率:df -h重点看 Use% 和 Mounted on。根分区 / 超过 90% 就要立即处理;同时留意 inode 是否耗尽:df -iinode 用满时即使还有空间也写...
服务器最常见的半夜告警之一就是磁盘满了。磁盘一满,服务写不出日志、数据库拒绝写入,连 SSH 登录都可能失败。记住一个顺序:先看整体,再找大户,最后清理验证。
一、先看整体:df
df -h 以人类可读的方式查看各分区使用率:
df -h
重点看 Use% 和 Mounted on。根分区 / 超过 90% 就要立即处理;同时留意 inode 是否耗尽:
df -i
inode 用满时即使还有空间也写不进文件,这是很多人忽略的坑。
二、再找大户:du
定位哪个目录最占空间,从根目录逐层下钻:
du -h --max-depth=1 / | sort -hr | head -10
找到可疑目录后继续深入,例如:
du -sh /var/log/* | sort -hr | head -5
du -sh 只显示总和,sort -hr 按大小倒序,组合起来三秒锁定大户。
三、清理与验证
常见的三类可清理对象:
- 过期日志:
find /var/log -name "*.log.*" -mtime +30 -delete - 包管理缓存:
apt clean或yum clean all - 已删除但仍被进程占用的文件:
lsof | grep deleted,重启对应进程即可释放空间。
清理后务必复查并确认服务恢复:
df -h
systemctl status nginx
四、预防:定时巡检
把巡检写进 Cron,每周检查一次:
0 9 * * 1 df -h > /var/log/disk-check.log
磁盘问题九成是日志和缓存惹的祸,养成用 df、du 定期巡检的习惯,告警来之前就能提前发现。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)