清理磁盘空间

发布于:2025-07-23 ⋅ 阅读:(18) ⋅ 点赞:(0)

你当前的磁盘使用情况如下:

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)

✅ 推荐操作顺序(安全 + 高效):

  1. sync; echo 3 > /proc/sys/vm/drop_caches
  2. docker system prune -a(如果使用 Docker)
  3. du -sh /* 找出占用空间大的目录清理
  4. 清理 /var/log/ 中的旧日志
  5. 删除无用软件包或缓存

示例命令汇总:

# 清理内存缓存
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

然后将输出贴出来,我可以帮你进一步定位清理目标。


网站公告

今日签到

点亮在社区的每一天
去签到