首页主机资讯怎样释放CentOS磁盘空间

怎样释放CentOS磁盘空间

时间2025-11-24 15:07:04发布访客分类主机资讯浏览416
导读:CentOS 磁盘空间释放实操指南 一 快速定位占用 查看整体使用:执行 df -h,确认哪个挂载点(如 /、/var)占用高。 定位大目录:在可疑挂载点内执行 du -sh * | sort -hr | head -n 10,逐层进入占...

CentOS 磁盘空间释放实操指南

一 快速定位占用

  • 查看整体使用:执行 df -h,确认哪个挂载点(如 //var)占用高。
  • 定位大目录:在可疑挂载点内执行 du -sh * | sort -hr | head -n 10,逐层进入占用最大的目录。
  • 交互式分析:安装并使用 ncdu /path,更直观地找到“大胃王”。
  • 精准查找大文件:例如查找大于 100MB 的文件:find / -type f -size +100M -exec ls -lh { } ; (从根开始谨慎执行,或限定到具体目录)。

二 安全清理可释放空间

  • 包管理器缓存
    • yum clean alldnf clean all,清理 /var/cache/yum 中的已下载包。
    • 清理无用依赖:yum autoremove;如安装了 yum-utils,可用 package-cleanup --leaves 查找“叶子”包后按需移除。
  • 临时文件
    • 清理系统临时目录:rm -rf /tmp/ /var/tmp/*(确认无业务正在使用)*。
  • 日志文件
    • 轮转并压缩旧日志:确保 logrotate 已配置并按日/周轮转。
    • 快速释放空间:对不再需要的日志可先“截断”而非删除,例如 find /var/log -type f -name “*.log” -size +50M -mtime +7 -exec truncate -s 0 { } ; ;已归档的旧日志可删除:find /var/log -type f -name “*.gz” -mtime +30 -delete
    • 清理 systemd 日志:journalctl --vacuum-time=2weeks(保留最近两周)。
  • 旧内核(谨慎)
    • 查看当前内核:uname -r;查看已装内核:rpm -qa | grep kernel
    • 保留最新的 1–2 个内核,删除其余旧版本(如 yum remove kernel-< 旧版本> ),避免删除正在运行的内核。
  • 大文件处置
    • 确认无用后再删除:如 find /var/log -name “*.log” -size +100M -delete
    • 若删除文件后 df 仍显示占用不变,多为文件被进程占用:用 lsof | grep deleted 找到占用进程 PID,优先 graceful 停止服务,必要时 kill -9 PID 后再观察空间是否释放。
  • 可选图形化工具
    • 桌面环境可用 baobab 做空间分析;服务器环境推荐 ncdu 轻量高效。

三 清理后空间未释放的处理

  • 被占用导致“删了还占”:这是 Linux 的“已删除但句柄未释放”现象。执行 lsof | grep deleted,确认占用进程后先尝试正常停止,再 kill -9 ;随后再次 df -h 验证。
  • 谨慎使用内存缓存清理:执行 sync & & echo 3 > /proc/sys/vm/drop_caches 仅释放“页面/目录项/索引节点”缓存,对磁盘占用无直接帮助,且可能影响性能,非必要不建议频繁使用。

四 扩容思路(清理后仍然紧张时)

  • LVM 在线扩容(推荐)
    • 新增磁盘或扩展现有分区后,初始化为 PVpvcreate /dev/sdb;扩展 VGvgextend centos /dev/sdb;扩展 LVlvextend -L +50G /dev/mapper/centos-root
    • 扩展文件系统:
      • XFSxfs_growfs /(根分区)
      • Ext4resize2fs /dev/mapper/centos-root
  • 非 LVM 场景
    • 新增磁盘分区并格式化(如 mkfs.xfs /dev/sdb1mkfs.ext4 /dev/sdb1),挂载到 /data_new,并在 /etc/fstab 中使用 UUID=… 做持久化挂载。
  • 虚拟机场景
    • 先在虚拟化平台扩容虚拟磁盘,再按上述 LVM 或分区方式扩展系统分区与文件系统。

五 常用命令速查表

目标 命令示例
查看磁盘使用 df -h
目录占用排行 **du -sh *
交互式分析 ncdu /path
查找大文件 find / -type f -size +100M -exec ls -lh { } ;
清理包缓存 yum clean all / dnf clean all
清理旧依赖 yum autoremove;或 package-cleanup --leaves
清理临时文件 rm -rf /tmp/ /var/tmp/**
截断大日志 find /var/log -type f -name “*.log” -size +50M -mtime +7 -exec truncate -s 0 { } ;
清理 systemd 日志 journalctl --vacuum-time=2weeks
删除旧内核 yum remove kernel-< 旧版本> (保留当前 uname -r
释放被占用文件 **lsof
LVM 扩容 pvcreate /dev/sdbvgextend centos /dev/sdblvextend -L +50G /dev/mapper/centos-rootxfs_growfs /resize2fs …

重要提示

  • 生产环境操作前务必做好备份,并在变更窗口执行。
  • 删除文件与清理日志前确认业务影响保留策略;优先“截断”而非直接删除正在写入的日志。
  • 不要随意删除 /var/lib/usr/boot 等核心目录下的未知文件;删除内核前确保至少保留 1–2 个可启动版本。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 怎样释放CentOS磁盘空间
本文地址: https://pptw.com/jishu/754498.html
CentOS安全清理步骤 怎样提升CentOS稳定性

游客 回复需填写必要信息