centos

centos进程性能调优实战

小樊
43
2025-09-05 23:29:19
栏目: 智能运维

CentOS进程性能调优实战指南

一、系统层面优化

  1. 内核参数调优

    • 编辑/etc/sysctl.conf,优化网络和内存参数:
      net.core.somaxconn=65535  # 提升TCP连接队列长度
      vm.swappiness=10          # 降低内存置换倾向
      vm.dirty_ratio=15         # 控制脏页比例,减少磁盘写入频率
      
      执行sysctl -p使配置生效。
  2. 文件描述符限制

    • 临时调整:ulimit -n 65535
    • 永久生效:修改/etc/security/limits.conf,添加* soft nofile 65535
  3. 关闭非必要服务

    systemctl stop firewalld NetworkManager  # 关闭防火墙(根据实际需求)
    systemctl disable firewalld NetworkManager
    

二、CPU性能优化

  1. 调整CPU调度策略

    • 查看当前策略:cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    • 设置为性能模式:
      echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
      
      或通过cpupower工具:cpupower frequency-set -g performance
  2. 进程绑定与优先级

    • 绑定进程到指定CPU核心:taskset -cp 0,1 <pid>
    • 调整进程优先级:nice -n -5 <command>(提高优先级),renice -n 10 <pid>(降低优先级)。

三、内存性能优化

  1. 内存分配与回收

    • 调整vm.overcommit_memory=1,避免OOM。
    • 手动清理缓存:echo 3 > /proc/sys/vm/drop_caches(谨慎使用,可能影响性能)。
  2. 大页内存(Huge Pages)

    • 启用大页内存以减少内存碎片:
      echo 2048 > /proc/sys/vm/nr_hugepages  # 设置大页数量
      mount -t hugetlbfs hugetlbfs /dev/hugepages  # 挂载大页文件系统
      

四、磁盘I/O优化

  1. I/O调度器选择

    • 查看当前调度器:cat /sys/block/sda/queue/scheduler
    • 临时修改为noopdeadline(适合SSD):
      echo noop > /sys/block/sda/queue/scheduler
      
      永久修改需在/etc/default/grub中添加elevator=noop并更新GRUB。
  2. 文件系统优化

    • 格式化时使用noatime参数:mount -o remount,noatime /dev/sda1 /
    • 对于大文件场景,选择XFS文件系统:mkfs.xfs /dev/sdb1

五、网络性能优化

  1. TCP参数调优

    • 编辑/etc/sysctl.conf
      net.core.rmem_max=16777216
      net.core.wmem_max=16777216
      net.ipv4.tcp_window_scaling=1
      
      执行sysctl -p生效。
  2. 网卡多队列与中断绑定

    • 启用网卡多队列:ethtool -l eth0(查看队列数),ethtool -L eth0 combined 4(设置多队列)。
    • 绑定中断到特定CPU核心:echo 1 > /proc/irq/XX/smp_affinity(XX为中断号)。

六、工具与监控

七、实战注意事项

  1. 测试优先:所有优化需在测试环境验证,避免影响生产环境稳定性。
  2. 逐步调整:单次仅修改1 - 2个参数,观察效果后再继续优化。
  3. 文档记录:记录优化前后的配置和性能数据,便于回溯和优化效果评估。

参考来源

0
看了该问题的人还看了