温馨提示×

CentOS性能下降清理方法

小樊
39
2025-12-09 17:00:30
栏目: 智能运维

CentOS性能下降的清理与优化步骤

一 快速定位瓶颈

  • 查看整体资源与挂载:使用命令查看磁盘、内存与负载情况,重点关注占用率高的分区与目录。示例:df -hfree -muptime
  • 定位大文件与目录:逐层排查大占用,优先关注系统目录。示例:du -sh /* 2>/dev/nulldu -h --max-depth=1 /var
  • 若已接近满盘,先清理再考虑扩容,清理无效后再执行扩容更稳妥。

二 清理磁盘空间

  • 清理包管理缓存与临时文件:释放大量空间,常用于应急。示例:yum clean allrm -rf /var/cache/yum/*rm -rf /var/tmp/yum-*
  • 删除不再需要的软件包与孤立包:减少依赖与冗余。示例:yum autoremovepackage-cleanup --quiet --leaves --exclude-bin
  • 清理旧内核:避免 /boot 分区被占满。示例:package-cleanup --oldkernels --count=2(保留最近 2 个内核)。
  • 清理日志文件:优先使用日志轮转,必要时截断或删除历史日志。示例:journalctl --vacuum-time=7dfind /var/log -type f -name "*.log" -mtime +30 -deletetruncate -s 0 /var/log/<file>
  • 清理临时目录:释放 /tmp 与 /var/tmp 的临时文件。示例:rm -rf /tmp/*rm -rf /var/tmp/*
  • 查找并处理异常大文件:定位“吞空间”的元凶并归档/删除。示例:find / -type f -size +100M -exec ls -lh {} \;;可用 ncdu 交互式分析。
  • 如运行 Docker:清理无用对象释放空间。示例:docker system prune -a(谨慎,会删除未使用容器/镜像/网络/卷)。

三 释放内存与缓存

  • 安全释放内核页面缓存与 slab:仅在必要时执行,避免影响性能观测。示例:sync && echo 3 > /proc/sys/vm/drop_caches(取值 1/2/3 分别对应 pagecache、slab、两者)。
  • 调整内存回收策略:降低交换倾向,减少抖动。示例:在 /etc/sysctl.conf 中设置 vm.swappiness=10,执行 sysctl -p 生效。
  • 谨慎清理 Swap:仅在确认无业务影响时短时使用。示例:swapoff -a && swapon -a(可能导致短时性能下降)。

四 配置优化与长期维护

  • 配置日志轮转:编辑 /etc/logrotate.conf/etc/logrotate.d/*,设置保留份数与压缩,避免日志无限增长。
  • 文件系统挂载优化:减少元数据写入。示例:在 /etc/fstab 中为 ext4 加入 noatime,nodiratime
  • 内核网络参数优化:提升高并发场景表现。示例(按需调整):net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_fin_timeout=30net.ipv4.ip_local_port_range=1024 65535net.core.somaxconn=1024net.ipv4.tcp_max_syn_backlog=8192net.ipv4.tcp_syncookies=1,执行 sysctl -p 生效。
  • 文件描述符与系统更新:提升服务并发能力并保持安全稳定。示例:在 /etc/security/limits.conf 设置 * soft nofile 65535* hard nofile 65535;定期执行 yum update -y
  • 建立监控与告警:对磁盘使用率、Inode、负载设置阈值告警,提前发现“慢”根因。

五 应急与扩容

  • 先清理后扩容:当 df -h 显示使用率接近 100% 时,优先清理可回收空间(日志、缓存、旧内核、临时文件等)。
  • 使用 LVM 在线扩容:添加磁盘或扩展卷组后,扩展逻辑卷并调整文件系统。示例:lvextend 后,XFS 执行 xfs_growfs /,Ext4 执行 resize2fs <lv>
  • 非 LVM 场景:新增磁盘分区格式化后挂载至目标目录,并在 /etc/fstab 中持久化。
  • 清理只是治标,持续增长的业务数据应配合扩容与数据归档策略。

0