CentOS性能优化清理策略
导读:CentOS性能优化与清理策略 一 前置检查与风险 备份关键数据与配置,优先在测试环境验证变更;变更内核参数或清理系统目录前,务必确认影响范围。 明确系统版本与包管理器:CentOS 7 使用 yum,CentOS 8+ 使用 dnf;清...
CentOS性能优化与清理策略
一 前置检查与风险
- 备份关键数据与配置,优先在测试环境验证变更;变更内核参数或清理系统目录前,务必确认影响范围。
- 明确系统版本与包管理器:CentOS 7 使用 yum,CentOS 8+ 使用 dnf;清理命令需与版本匹配。
- 禁止随意关闭安全组件(如 SELinux、firewalld);如确需调整,应先评估安全影响并采用最小变更原则。
二 磁盘与包管理清理
- 查看空间占用并定位大文件/目录:
- 命令:
df -h、du -h --max-depth=1 /var、ncdu /(需安装 ncdu)。
- 命令:
- 清理包管理器缓存:
- CentOS 7:
sudo yum clean all - CentOS 8+:
sudo dnf clean all
- CentOS 7:
- 删除无用依赖与孤立包:
sudo yum autoremovepackage-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
- 清理旧内核(保留最近 2 个版本):
package-cleanup --oldkernels --count=2
- 清理临时文件与回收站:
sudo rm -rf /tmp/* /var/tmp/*sudo rm -rf /home/*/.local/share/Trash/*
- 日志清理与轮转:
- 截断超大日志:
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 { } \; - 删除超期日志:
find /var/log -type f -name "*.log" -mtime +30 -exec rm -f { } \; - 确保 logrotate 已启用并正确配置(如
/etc/logrotate.conf与/etc/logrotate.d/*)。
- 截断超大日志:
三 内存与文件系统优化
- 释放页面缓存与 slab(仅在必要时、非生产高峰执行,避免影响性能):
- 仅释放页面缓存:
echo 1 > /proc/sys/vm/drop_caches - 释放可回收 slab:
echo 2 > /proc/sys/vm/drop_caches - 释放全部可回收缓存:
echo 3 > /proc/sys/vm/drop_caches
- 仅释放页面缓存:
- 调整内存回收参数(示例值,按负载微调):
vm.swappiness = 10vm.dirty_background_ratio = 5vm.dirty_ratio = 10- 使配置生效:
sudo sysctl -p
- 文件系统挂载优化(减少元数据写入,提升 I/O 效率):
- 在
/etc/fstab中为 ext4 挂载项添加:defaults,noatime,nodiratime - 重新挂载:
sudo mount -a
- 在
- I/O 调度器(SSD 优先使用 none/mq-deadline,HDD 可用 cfq 或 deadline):
- 查看:
cat /sys/block/sdX/queue/scheduler - 临时设置:
echo mq-deadline > /sys/block/sdX/queue/scheduler(将 sdX 替换为实际磁盘)。
- 查看:
四 网络与内核参数优化
- 典型 TCP/连接优化(编辑
/etc/sysctl.conf后执行sudo sysctl -p):net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.ip_local_port_range = 1024 65535net.ipv4.tcp_max_syn_backlog = 8192net.core.somaxconn = 1024net.core.netdev_max_backlog = 2000net.ipv4.tcp_max_orphans = 32768net.ipv4.tcp_syncookies = 1
- 注意:在部分 NAT/负载均衡 场景中,
net.ipv4.tcp_tw_recycle可能引发连接异常,生产环境建议保持默认或禁用。
五 服务精简与监控维护
- 服务与启动项精简:
- 列出并评估:
systemctl list-units --type=service --state=running - 停止并禁用不需要的服务(示例):
sudo systemctl stop firewalld & & sudo systemctl disable firewalld - 谨慎处理 SELinux:不建议直接禁用;如必须,改为
SELINUX=permissive并充分测试,再考虑disabled与重启。
- 列出并评估:
- 文件句柄与进程限制:
- 编辑
/etc/security/limits.conf,为关键服务(如 nginx、mysql)提升nofile与nproc上限。
- 编辑
- 持续监控与容量规划:
- 资源监控:
top/htop、vmstat、iostat - 磁盘分析:
ncdu / - 定期审计:清理周期建议 每周 例行清理,每月 深度巡检(日志、内核、临时文件、包缓存)。
- 资源监控:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS性能优化清理策略
本文地址: https://pptw.com/jishu/752361.html
