CentOS Stream 8 的性能优化,从来不是靠一招鲜就能解决的。它需要从硬件选型、内核参数、文件系统、内存管理,一直贯穿到网络配置、服务调度和持续监控。这里以 Stream 8 为样本,梳理一套可落地的优化思路,核心原则就一条:找到瓶颈,对症下药。

一、硬件基础优化
硬件是性能的底子,这笔账省不了。优先保证资源充裕:
- CPU 选型:建议上新一代至强铂金系列,核心数根据并发量决定;内存方面,数据库类业务至少 16GB 起步,普通业务 8GB 也够用;存储一定要换固态,哪怕是 SATA SSD 也比机械盘强太多,NVMe 更佳——I/O 瓶颈一松,整个系统都轻快起来。
- RAID 配置:追求极致读写用 RAID 0,但风险高;数据安全优先选 RAID 1;兼顾速度和冗余则 RAID 10 是常规选择。根据业务场景自己权衡。
二、内核参数调优
修改 /etc/sysctl.conf 是最常见的调优手段,几个关键参数值得关注:
- 网络方面:开启 TCP 连接复用(
net.ipv4.tcp_tw_reuse = 1),缩短 TIME_WAIT 超时(net.ipv4.tcp_fin_timeout = 30),扩大本地端口范围(net.ipv4.ip_local_port_range = "1024 65535"),提升缓冲区大小(net.core.rmem_default = 262144、net.core.wmem_default = 262144)。这些调整能显著提升高并发下的网络吞吐量。 - 文件描述符限制:
fs.file-max = 65535是基础值,高并发场景可能需要更大,注意结合ulimit一起设置。 - Swap 控制:
vm.swappiness默认 60,建议调低到 10 左右,减少系统对 Swap 的依赖,避免内存不足时频繁换页。修改后执行sudo sysctl -p生效。
三、文件系统优化
选对文件系统并调整挂载选项,能省出不少磁盘开销:
- 文件系统选择:Ext4 通用性好,兼容性强,大多数服务器用着没问题;XFS 在大文件、高并发场景下表现优秀,适合视频、数据库;Btrfs 功能丰富但兼容性稍弱,适合实验或对快照有需求的场景。推荐 XFS 或 Ext4。
- 挂载选项:在
/etc/fstab中添加noatime和nodiratime,避免记录每次访问时间,减少不必要的写操作。例如:/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0。修改后执行sudo mount -a重新挂载。
四、内存管理优化
内存是系统的快车道,配置不当容易造成“假性不足”:
- Swap 分区:如果物理内存确实紧张,可以添加 Swap 分区(
sudo mkswap /dev/sdb1创建,sudo swapon /dev/sdb1启用),并在/etc/fstab中设置自动挂载。但注意,Swap 只是应急手段,不能替代物理内存。 - Swappiness 调整:查看当前值
cat /proc/sys/vm/swappiness,默认 60。建议调低到 10~30,内存足够时设为 10,让系统优先使用物理内存,减少磁盘 Swap 拖慢响应。
五、网络性能优化
网络参数调优往往被忽视,但影响很大:
- TCP 参数:开启窗口缩放(
net.ipv4.tcp_window_scaling = 1),适应大带宽;增加网络设备接收队列长度(net.core.netdev_max_backlog = 2000);提高 SYN 队列长度(net.ipv4.tcp_max_syn_backlog = 8192),应对突发连接。 - I/O 调度器:HDD 建议用
deadline或noop(配合 RAID 控制器),SSD 则直接noop即可,因为 SSD 本身延迟很低,不需要复杂调度。修改方式:echo deadline | sudo tee /sys/block/sda/queue/scheduler,并写入 GRUB 配置(GRUB_CMDLINE_LINUX="... elevator=deadline"),然后更新sudo grub2-mkconfig -o /boot/grub2/grub.cfg。
六、服务与进程管理
很多系统资源是被不必要服务吃掉的,清理一下很有必要:
- 关闭无用服务:用
systemctl list-unit-files --type=service查看所有服务,把不需要的禁用并停止(如sudo systemctl disable firewalld.service、sudo systemctl stop firewalld.service)。注意确认业务依赖,别一刀切。 - 调整进程优先级:非关键进程用
nice -n 10 command降低优先级;已运行的进程用sudo renice -n 10 -p 12345调整。保证核心业务能抢到 CPU 时间片。
七、监控与持续优化
优化不是一次性的,需要持续跟踪:
- 常用工具:
top看 CPU 和内存,vmstat看整体负载,iostat看磁盘 I/O,netstat看网络连接。更高级的可以用 Prometheus + Grafana 搭可视化监控,覆盖 CPU、内存、磁盘、网络等指标,一目了然。 - 定期维护:清理 YUM 缓存(
sudo yum clean all),更新系统(sudo yum update),备份重要数据。保持系统干净、稳定。
最后说几点注意事项:
- 优化前务必备份关键数据(如
/etc目录、数据库文件),避免配置错误导致不可逆损失。 - 所有调整先在测试环境验证,确认无误后再上生产。
- CentOS Stream 8 官方已终止维护,建议尽快升级到 CentOS Stream 9 或 Rocky Linux 8 等长期支持版本,以获得持续的安全更新和性能支持。