清理磁盘空间
你当前的磁盘使用情况如下:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 46G 36G 9.8G 79% /
当前根目录 /
已使用 79%,空间已经较为紧张。以下是一些常用的 清理磁盘空间的方法,你可以按需选择:
✅ 1. 清理系统缓存(最安全、推荐先做)
清理 PageCache、目录项和 inode 缓存:
sync; echo 3 > /proc/sys/vm/drop_caches
📌 说明:这个命令是安全的,不会影响正在运行的程序,只是释放内核的缓存。
✅ 2. 清理 YUM 缓存(适用于 CentOS/RHEL)
yum clean all
或者:
rm -rf /var/cache/yum/*
✅ 3. 清理 Docker 占用空间(如果你使用 Docker)
删除所有停止的容器:
docker container prune
删除所有未使用的镜像(悬空镜像):
docker image prune -a
删除未使用的卷和网络:
docker volume prune
docker network prune
清理所有未使用的 Docker 对象:
docker system prune -a
✅ 4. 查看大文件和占用空间的目录
du -ah /path/to/dir | sort -h
例如查看根目录下哪些目录占用空间最多:
du -sh /* 2>/dev/null
常见清理目标:
/var/log/
:日志文件,可删除旧日志或使用logrotate
/tmp/
:临时文件/root/.cache/
:用户缓存/home/*/.cache/
:其他用户缓存/var/cache/
:系统缓存
✅ 5. 清理旧的系统日志(/var/log/)
journalctl --vacuum-time=7d # 保留最近7天的日志
或者:
rm -f /var/log/*.log.* # 删除压缩日志
rm -f /var/log/messages-* # 删除历史 messages 日志
⚠️ 操作前建议备份重要日志。
✅ 6. 删除不再使用的软件包
package-cleanup --leaves
或者手动删除:
yum remove <package-name>
✅ 7. 扩容磁盘(终极方案)
如果磁盘空间确实不足,考虑以下方式扩容:
- 扩展 LVM 卷
- 挂载新磁盘到
/var
或/home
- 使用外部存储(如 NAS、OSS、S3)
✅ 推荐操作顺序(安全 + 高效):
sync; echo 3 > /proc/sys/vm/drop_caches
docker system prune -a
(如果使用 Docker)du -sh /*
找出占用空间大的目录清理- 清理
/var/log/
中的旧日志 - 删除无用软件包或缓存
示例命令汇总:
# 清理内存缓存
sync; echo 3 > /proc/sys/vm/drop_caches# 清理 Docker
docker system prune -a# 查看磁盘占用情况
du -sh /* 2>/dev/null# 清理日志
journalctl --vacuum-time=7d
rm -f /var/log/*.log.* /var/log/messages-*# 清理 yum 缓存
yum clean all && rm -rf /var/cache/yum/*
如果你需要我帮你分析具体哪个目录占用了大量空间,请运行:
du -sh /var/* /root/* /home/* /opt/* 2>/dev/null | sort -h
然后将输出贴出来,我可以帮你进一步定位清理目标。