磁盘满了别慌:df 与 du 排查清理速记

举报
yd_254170217 发表于 2026/11/08 14:53:56 2026/11/08
【摘要】 服务器最常见的半夜告警之一就是磁盘满了。磁盘一满,服务写不出日志、数据库拒绝写入,连 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 按大小倒序,组合起来三秒锁定大户。

三、清理与验证

常见的三类可清理对象:

  1. 过期日志:find /var/log -name "*.log.*" -mtime +30 -delete
  2. 包管理缓存:apt clean 或 yum clean all
  3. 已删除但仍被进程占用的文件: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)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。