当前位置:首页>Linux>Linux root磁盘爆满?一站式应急清理方案(亲测可用)

Linux root磁盘爆满?一站式应急清理方案(亲测可用)

  • 2026-10-11 07:53:29
Linux root磁盘爆满?一站式应急清理方案(亲测可用)

Linux root磁盘爆满?一站式应急清理方案(亲测可用)

作为Linux运维工程师,最头疼的场景之一莫过于:服务器突然告警"root磁盘使用率100%",随之而来的是服务卡顿、无法写入日志、甚至应用崩溃。其实root磁盘爆满,大多是缓存堆积、日志膨胀、临时文件残留导致的,无需慌,按本文步骤操作,既能快速释放空间,又能避免误删关键文件,新手也能轻松上手。
Part.01应急清理(立刻释放空间,优先执行)
这一步的核心是"安全、快速",清理的都是系统可再生的缓存和临时文件,不会影响系统正常运行,新手可放心操作。
图 | 封面图
1. 清理yum缓存(最安全,首选操作)

yum作为Linux系统常用的包管理器,会自动缓存下载的rpm包、仓库元数据等文件,长期积累会占用大量空间,缓存文件默认存放在 /var/cache/yum/ 目录下,清理后不影响已安装软件,且下次使用yum时会自动重建缓存。
 基础清理(释放大部分缓存空间) yum clean all 彻底清理缓存目录(进一步释放空间,可选) rm -rf /var/cache/yum/

小贴士

清理后若需快速重建缓存,可执行 yum makecache

图 | 终端界面
2. 清理系统日志(快速释放大空间)

系统日志(/var/log目录)是最容易"爆盘"的元凶之一,尤其是长期运行的服务器,日志文件可能达到几十G甚至上百G。以下两种方式结合使用,既能清理旧日志,又能限制日志大小,避免后续再次膨胀。
 方式1:清理压缩日志、历史日志(避免误删正在写入的日志) rm -rf /var/log/*-???????? /var/log/*.gz /var/log/dmesg.old 方式2:删除所有日志(空间极度紧张时使用,谨慎!) rm -rf /var/log/* 方式3:限制日志总大小(推荐,保留最近100M日志,自动删除旧日志) journalctl --vacuum-size=100M

补充说明:journalctl --vacuum-size=100M 会自动保留最新的日志,删除最旧的归档日志。清理后可执行 journalctl --disk-usage 验证日志占用空间。

图 | 磁盘空间释放
3. 清理临时文件(零风险,立竿见影)

系统临时目录(/tmp、/var/tmp)存放着应用运行时产生的临时文件,这些文件重启后会自动删除,但长期不清理会堆积大量垃圾,尤其当应用异常退出时,临时文件会残留并占用空间。
 清理/tmp临时文件 rm -rf /tmp/* 清理/var/tmp临时文件 rm -rf /var/tmp/* 可选:设置临时目录环境变量 export TMPDIR=/tmp sudo -E yum install ...

注意:清理前若有正在运行的应用依赖临时文件,可能会导致应用异常

Part.02深度清理(释放更多空间,按需执行)
应急清理后,若磁盘空间仍紧张,可执行以下操作,清理无用依赖、工具缓存和大文件,进一步释放空间,适合长期运行的服务器。
1. 清理无用系统依赖包

系统安装软件时,会自动安装依赖包,当软件卸载后,这些依赖包会残留,长期积累会占用不少空间,yum autoremove可自动清理无用的依赖包,安全且高效。
 yum autoremove -y
2. 清理Python相关缓存(开发服务器必做)

若服务器用于Python开发或运行Python应用,pip、conda的缓存会占用大量空间,尤其是频繁安装、升级包的场景,清理缓存不会影响已安装的Python包。
清理pip缓存 pip cache purge 清理conda缓存 conda clean -a -y 彻底清理Anaconda无用包和缓存 rm -rf /root/.cache/pip rm -rf /root/.conda/pkgs rm -rf /home/data/anaconda3/pkgs/*
3. 清理Ascend旧版本及相关临时文件(AI服务器专属)

若服务器部署了Ascend(昇腾)相关环境,旧版本安装包和临时文件会占用大量空间,尤其是CANN toolkit旧版本,清理后不影响当前运行的Ascend环境。
清理Ascend CANN旧版本(根据实际旧版本修改) rm -rf /usr/local/Ascend/cann-8.5.0 清理Ascend临时文件 rm -rf /tmp/selfgz* 清理Ascend日志缓存 rm -rf /var/log/ascend_seclog/*
4. 清理无用大文件(可选,谨慎操作)

若以上操作后空间仍不足,可查找并删除无用的大文件(如旧备份、安装包、日志碎片等),查找时建议精准定位目录,避免误删系统关键文件。
 查找/usr/local下大于100M的文件 find /
usr/local -type f -size +100M | xargs ls -lh
Part.03清理后验证与长期维护建议
1. 验证清理效果

清理完成后,执行以下命令,确认root磁盘空间已释放。
 df -h
 journalctl --disk-usage
2. 长期维护建议(避免再次爆盘)
  • 定期清理:设置定时任务(crontab),每周或每月自动执行应急清理命令
  • 日志管理:通过配置文件限制日志最大占用空间,从源头限制日志膨胀
  • 缓存管理:定期清理pip、conda缓存
  • 定期检查:每月排查异常占用目录,及时清理无用文件
 /etc/systemd/journald.conf 中配置 SystemMaxUse=100M
Part.04常见避坑提醒
  • 禁止直接执行 rm -rf / 或 rm -rf /*,会直接删除系统核心文件
  • 清理日志时注意正在运行的关键服务
  • 删除大文件前务必确认文件用途
  • 若清理后磁盘空间仍未释放,检查inode耗尽问题
欢迎在评论区留言讨论~
AI欧应万
微信号|AI欧应万
·AI欧应万·

最新文章

随机文章