Debian 服务器磁盘空间排查与清理实录

举报
yd_281936295 发表于 2026/10/24 07:37:08 2026/10/24
【摘要】 那天登录服务器,随手敲了一个 df -h,发现根分区用了 91%。40G 的小盘,眼看就要满了。磁盘满了可不是小事:服务写不了日志、数据库可能停写,连 apt 升级都会罢工。这篇就记录一次完整的磁盘排查和清理过程。第一步:定位大目录。df -h 看整体水位,确认是 /var 占了大头;再用 du -sh /var/* 逐级往下找,很快锁定两个嫌疑人:/var/log 和 /var/lib/d...

那天登录服务器,随手敲了一个 df -h,发现根分区用了 91%。40G 的小盘,眼看就要满了。磁盘满了可不是小事:服务写不了日志、数据库可能停写,连 apt 升级都会罢工。这篇就记录一次完整的磁盘排查和清理过程。


第一步:定位大目录。df -h 看整体水位,确认是 /var 占了大头;再用 du -sh /var/* 逐级往下找,很快锁定两个嫌疑人:/var/log 和 /var/lib/docker。这两个地方,十台小服务器里九台都是它们。


第二步:清理日志。用 journalctl --disk-usage 看 journal 占了多少——嚯,3.2G。systemd 的 journal 默认不限制大小,日积月累很可观。journalctl --vacuum-time=7d 只保留最近 7 天的日志,一下子腾出近 3G。再在 /etc/systemd/journald.conf 里设 SystemMaxUse=200M,给它戴上紧箍咒。/var/log 下的应用日志手动轮转一次,大的旧日志压缩归档。


第三步:清理包缓存和旧内核。apt clean 把 /var/cache/apt 下的 .deb 包清掉,腾出几百兆。再看 dpkg -l | grep linux-image 列出的旧内核,用 apt autoremove --purge 删掉不用的,只留当前和上一个版本做保险。


第四步:清理 Docker。docker system df 一看,镜像和构建缓存占了好几个 G。docker image prune -a 清掉无人引用的镜像,docker builder prune 清构建缓存。正在跑的容器不受影响,空间倒是回来了。


第五步:防止复发。配好 logrotate,给关键应用日志按天轮转、保留 14 天、自动压缩。再加一个每周跑一次的 df 检查小脚本,水位超过 80% 就发邮件提醒自己。


一通操作下来,根分区从 91% 降到 58%,服务全程没停。磁盘清理最怕的不是清理,而是不知道它满了。把排查命令和定期策略固定下来,小机器也能跑得稳稳当当。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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