温馨提示×

centos系统优化与清理

小樊
40
2025-12-19 14:55:53
栏目: 智能运维

CentOS 系统优化与清理清单

一 磁盘与日志清理

  • 查看空间占用并定位大目录/大文件
    • 查看分区使用:df -h
    • 按目录查看:du -h --max-depth=1 /var | sort -hr
    • 查找大文件:find / -type f -size +500M -exec ls -lh {} ; 2>/dev/null
  • 清理日志
    • 清理 systemd 日志:journalctl --vacuum-time=30d(保留最近30天)
    • 轮转并压缩旧日志:编辑 /etc/logrotate.conf(或 /etc/logrotate.d/*),示例:
      • /var/log/messages { rotate 5; weekly; compress; delaycompress; missingok; notifempty; create 0640 root utmp; postrotate /usr/bin/killall -HUP rsyslogd; endscript }
  • 清理包管理器缓存与无用包
    • YUM:yum clean all;删除孤立包:package-cleanup --quiet --leaves --exclude-bin;删除旧内核:package-cleanup --oldkernels --count=2
    • DNF:dnf clean all;dnf autoremove
  • 清理临时文件与回收站
    • 系统临时:rm -rf /tmp/*
    • 用户回收站:rm -rf /home//.local/share/Trash/
  • 清理核心转储
    • find / -regex “.*/core.[0-9]+$” -delete 2>/dev/null
  • 可选图形化清理工具
    • yum install -y bleachbit && bleachbit(谨慎选择系统目录)

二 内存与缓存管理

  • 仅当需要诊断或内存紧张时手动释放页面/Slab 缓存(不会提升性能,且会短暂影响性能)
    • 同步后释放:sync && echo 1 > /proc/sys/vm/drop_caches(仅页面缓存)
    • sync && echo 2 > /proc/sys/vm/drop_caches(可回收 Slab)
    • sync && echo 3 > /proc/sys/vm/drop_caches(页面缓存 + Slab)
  • 建议优先通过 logrotate、tmpfiles、包缓存清理等常规手段释放空间,避免频繁手动 drop_caches

三 系统与服务精简

  • 更新系统并保留必要软件
    • yum update -y(或 dnf update -y)
  • 精简开机自启(保留最小集合)
    • 建议常开:sshd、rsyslog、crond、network;其余按业务关闭
    • 查看与禁用:systemctl list-unit-files --type=service;systemctl disable ;systemctl stop
  • 精简预装软件包(最小化安装后执行更稳妥)
    • 示例:yum remove Deployment_Guide-en-US finger cups-libs cups ypbind bluez-libs 等
    • 按组移除:yum groupremove “Games and Entertainment” “X Window System” 等
  • 安全组件策略
    • SELinux:生产环境建议保持 enforcing,必要时可设为 permissive 进行排障(编辑 /etc/selinux/config,SELINUX=permissive,重启生效)
    • 防火墙:不建议直接关闭,按需配置规则;若确需关闭:systemctl stop firewalld && systemctl disable firewalld

四 内核与文件系统优化

  • 内核网络参数(/etc/sysctl.conf,执行 sysctl -p 生效)
    • 连接复用与回收:net.ipv4.tcp_tw_reuse = 1;net.ipv4.tcp_fin_timeout = 30
    • 端口与队列:net.ipv4.ip_local_port_range = 1024 65535;net.ipv4.tcp_max_syn_backlog = 8192;net.core.somaxconn = 1024
    • 稳定性与防护:net.ipv4.tcp_syncookies = 1;net.core.netdev_max_backlog = 2000
    • 注意:在 NAT/负载均衡或多主机环境中,通常不建议开启 net.ipv4.tcp_tw_recycle
  • 文件系统挂载选项
    • 减少元数据写入:编辑 /etc/fstab,为 ext4 加入 noatime,nodiratime(示例:/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0),然后 mount -o remount /
  • 文件句柄与内核对象
    • 提高进程可打开文件数:/etc/security/limits.conf 增加 * - nofile 65535;/etc/sysctl.conf 增加 fs.file-max = 100000
  • 时间同步
    • 安装并同步:yum install -y ntpdate;ntpdate -u cn.pool.ntp.org
    • 定时同步(crontab -e):*/5 * * * * /usr/sbin/ntpdate cn.pool.ntp.org >/dev/null 2>&1

五 监控与维护建议

  • 资源监控与瓶颈定位
    • 基础工具:top/htop、vmstat、iostat、sar、dstat、iftop、nload
    • 按业务特点建立基线(CPU、内存、I/O、网络、连接数),异常时优先排查日志与慢查询/慢接口
  • 自动化维护
    • 定时清理临时文件:crontab -e 添加 0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
    • 定期审计与清理:日志轮转、包缓存、旧内核、临时目录与核心转储的例行清理脚本
  • 变更风险控制
    • 任何内核参数、SELinux、防火墙、服务开关变更前先备份配置与数据,先在测试环境验证,变更窗口内可回滚

0