Linux云服务器磁盘空间告警排查:五步定位并清理大文件

举报
yd_265509607 发表于 2026/10/28 17:23:11 2026/10/28
【摘要】 背景云服务器运行一段时间后,监控经常会提示“磁盘使用率超过85%”。如果不及时处理,日志无法写入、数据库启动失败、应用直接宕机都可能发生。本文总结一套在华为云ECS(Linux系统)上通用的五步排查流程,不需要任何付费组件,登录服务器即可完成。 第一步:确认哪个分区满了先用df命令查看各分区使用情况,重点关注Use%最高的挂载点。很多时候满的是根分区,也可能是单独挂载的数据盘。df -h ...

背景

云服务器运行一段时间后,监控经常会提示“磁盘使用率超过85%”。如果不及时处理,日志无法写入、数据库启动失败、应用直接宕机都可能发生。本文总结一套在华为云ECS(Linux系统)上通用的五步排查流程,不需要任何付费组件,登录服务器即可完成。

第一步:确认哪个分区满了

先用df命令查看各分区使用情况,重点关注Use%最高的挂载点。很多时候满的是根分区,也可能是单独挂载的数据盘。

df -h

第二步:逐层定位大目录

使用du命令从根目录开始逐层向下统计,每次只看一层,速度快且结果清晰:

du -h --max-depth=1 / 2>/dev/null | sort -hr | head -n 10

找到最大的目录后,再进入该目录重复执行同样命令,通常三到四层就能锁定问题来源。常见元凶是日志目录、临时目录、用户目录以及容器数据目录。

第三步:查找超大文件

若目录内文件很多,可以直接按大小查找:

find / -type f -size +500M 2>/dev/null

该命令列出所有大于500MB的文件,便于判断哪些是过期备份、历史日志或core dump文件。

第四步:安全清理

清理前务必确认文件用途,建议遵循以下原则:

  • 日志文件不要直接删除正在写入的文件,应使用清空方式,例如执行 > /var/log/app.log;
  • 系统日志可执行 journalctl --vacuum-time=7d 只保留最近7天;
  • 软件包缓存可使用 yum clean all 或 apt clean;
  • Docker环境执行 docker system prune 前请确认没有需要保留的停止容器。

第五步:处理删了文件空间不释放

有时删除大文件后df显示空间依旧没变,这是因为文件仍被进程占用。执行下面的命令找到占用进程,重启对应服务,空间就会被释放:

lsof | grep deleted

预防建议

  • 为日志配置logrotate,按天切割并限制保留份数;
  • 在云监控中为磁盘使用率设置告警阈值,提前通知;
  • 数据盘与系统盘分开,业务数据不要写入系统盘;
  • 定期对重要数据创建快照,再清理历史文件。

总结

磁盘告警排查的核心思路是先定位分区,再逐层缩小范围,最后安全清理并预防。掌握df、du、find、lsof这四个命令,就能处理绝大多数磁盘空间问题。希望这篇小技巧对使用华为云ECS的朋友有所帮助,也欢迎在评论区交流你的排查经验。

。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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