磁盘空间不足时应优先快速定位并安全清理:先用df -h查高占用分区,再用du逐层定位大文件,最后针对性清理日志、临时文件等或扩容。

磁盘空间不足时,优先做快速定位和安全清理,避免盲目删除或重启服务。核心思路是:先看哪块盘满了,再找谁占得最多,最后针对性清理或扩容。
快速确认哪块分区告急
运行 df -h 查看各挂载点使用率,重点关注 Use% 列:
- 若
/(根分区)使用率 ≥90%,需立即处理 - 若
/boot接近满(尤其在升级内核后),可能影响系统更新 - 注意区分物理设备(如
/dev/vda1、/dev/mapper/centos-root)和挂载点(如/、/var)
逐层定位大文件或目录
进入高占用挂载点(如 cd /),用 du 向下钻取:
-
du -sh * | sort -hr | head -10—— 查当前目录下前10个最大项 -
du -hm --max-depth=1 /var | sort -nr—— 按MB排序查看/var下各子目录大小 - 常见高占用位置:
/var/log(日志)、/tmp(临时文件)、/var/lib/docker(容器镜像)、/home(用户数据)
安全清理高频空间“杀手”
不建议直接 rm -rf,优先用可控方式释放空间:
-
日志文件:用
find /var/log -name "*.log" -mtime +30 -delete清理30天前日志;对正在写入的大日志(如nohup.out),可用> /path/to/file清空内容(不删文件,避免服务异常) -
临时文件:清理
/tmp和/var/tmp中过期文件;检查/run下是否有残留锁或缓存 -
包管理缓存:Ubuntu/Debian 执行
apt clean;CentOS/RHEL 执行yum clean all或dnf clean all -
journald 日志:限制其占用,执行
journalctl --disk-usage查看,再用journalctl --vacuum-size=500M保留最近500MB
临时扩容或迁移路径(治本之策)
若清理后仍频繁告警,说明容量规划已跟不上业务增长:
- 对 LVM 系统:扩展逻辑卷(
lvextend)+ 文件系统(resize2fs或xfs_growfs) - 对云服务器:挂载新云盘到
/data或/var/log等目录,迁移现有数据并修改服务配置指向新路径 - 对 Docker 环境:修改
/etc/docker/daemon.json的data-root,迁移到大容量盘后重启 dockerd - 对 Nginx/MySQL 等服务:将日志目录软链或重配至外部存储,避免持续挤压系统盘










