CentOS系统性能调优指南
性能调优是提升CentOS系统稳定性、响应速度和资源利用率的关键手段,需结合硬件配置、系统参数、服务特性等多维度调整。以下是具体优化方向及操作步骤:
在开始调优前,需确保系统及软件包为最新版本(修复已知bug并提升兼容性),同时清理无用缓存以释放磁盘空间。
# 更新所有软件包至最新版本
sudo yum update -y
# 清理yum缓存(包括已下载的rpm包和元数据)
sudo yum clean all
内核参数直接影响系统资源(内存、网络、进程)的管理效率,需通过/etc/sysctl.conf文件永久调整,修改后执行sysctl -p使配置生效。
vm.swappiness:控制系统使用Swap分区的积极程度(默认60,值越低越倾向于使用物理内存)。若服务器内存≥8GB,建议设置为10:vm.swappiness = 10
vm.vfs_cache_pressure:控制内核回收文件系统缓存(如目录项、inode)的倾向(默认100,值越低越保留缓存)。建议设置为50:vm.vfs_cache_pressure = 50
net.ipv4.tcp_tw_reuse:允许复用TIME-WAIT状态的socket(高并发场景下减少连接建立开销):net.ipv4.tcp_tw_reuse = 1
net.core.somaxconn:增加listen队列的最大长度(默认128,高并发服务如Nginx建议设置为65535):net.core.somaxconn = 65535
vm.dirty_ratio=50表示物理内存使用50%时触发强制刷新;vm.dirty_background_ratio=10表示后台异步刷新阈值):vm.dirty_ratio = 50
vm.dirty_background_ratio = 10
磁盘I/O是系统性能的常见瓶颈,需从文件系统、挂载选项、调度器三方面优化。
mkfs.xfs/mkfs.ext4转换。/etc/fstab中为分区添加noatime(禁止更新文件访问时间)和nodiratime(禁止更新目录访问时间),减少不必要的磁盘写入:/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0
noop或deadline,机械硬盘推荐deadline)。查看当前调度器:cat /sys/block/sda/queue/scheduler
临时修改为deadline:echo deadline > /sys/block/sda/queue/scheduler
永久生效:修改/etc/default/grub中的GRUB_CMDLINE_LINUX,添加elevator=deadline,然后执行grub2-mkconfig -o /boot/grub2/grub.cfg更新GRUB配置。网络优化需针对TCP参数、网卡配置进行调整,适用于高并发Web服务、数据库服务等场景。
/etc/sysctl.conf中添加以下参数,提升TCP连接处理能力和吞吐量:net.ipv4.tcp_window_size = 1024000 # 增大TCP窗口大小(单位:字节)
net.ipv4.tcp_max_syn_backlog = 1024 # 增加SYN队列长度(应对高并发连接请求)
net.ipv4.tcp_fin_timeout = 30 # 缩短TIME-WAIT状态的超时时间(默认60秒)
ethtool启用,提升网络并行处理能力:# 检查网卡是否支持多队列
ethtool -l eth0 | grep "Supported multiqueue"
# 启用多队列(假设支持4队列)
ethtool -L eth0 combined 4
systemctl命令停止并禁用不需要的服务(如firewalld、postfix等),减少系统负载:# 列出所有运行中的服务
systemctl list-units --type=service
# 停止并禁用firewalld(若无需防火墙)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
nice(启动时设置)和renice(运行时调整)命令,降低非关键进程的CPU优先级(Nice值越高,优先级越低):# 启动进程时设置Nice值为10(降低优先级)
nice -n 10 ./my_program
# 调整已运行进程的Nice值(进程ID为12345)
renice 10 -p 12345
# 创建1GB Swap文件
sudo fallocate -l 1G /swapfile
# 设置权限
sudo chmod 600 /swapfile
# 格式化为Swap
sudo mkswap /swapfile
# 启用Swap
sudo swapon /swapfile
# 永久生效(添加到/etc/fstab)
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
调优后需通过工具监控系统性能,验证优化效果并及时调整。常用工具包括:
top(查看CPU、内存占用)、htop(增强版top,支持颜色和排序)、iotop(查看磁盘I/O占用)、vmstat(查看系统整体状态,如进程、内存、I/O)。ab(Apache Benchmark)测试Web服务并发性能,wrk测试高并发下的吞吐量:# 测试Nginx服务的并发性能(100个并发,1000次请求)
ab -n 1000 -c 100 http://localhost/
/var/log/messages、/var/log/syslog等系统日志,分析错误和警告信息,定位潜在瓶颈。/etc/sysctl.conf、/etc/fstab)前,务必备份原文件(如cp /etc/sysctl.conf /etc/sysctl.conf.bak)。通过以上步骤,可显著提升CentOS系统的性能表现,满足不同业务场景的需求。