centos

如何用centos cpustat优化系统配置

小樊
45
2025-08-10 18:08:48
栏目: 智能运维

使用 cpustat 优化 CentOS 系统配置的步骤如下:

  1. 安装工具

    sudo yum install sysstat  # CentOS 7及以下  
    sudo dnf install sysstat  # CentOS 8及以上  
    
  2. 监控CPU使用情况

    • 实时查看整体CPU使用率:
      cpustat  
      
    • 指定采样间隔和次数(如每5秒采样1次,共10次):
      cpustat -i 5 -c 10  
      
    • 保存输出到文件以便分析:
      cpustat -i 5 -c 10 > cpu_usage.log  
      
  3. 分析性能瓶颈

    • 关注关键指标:
      • %usr:用户态CPU占用高,可能存在应用负载过高。
      • %sys:内核态CPU占用高,可能存在系统调用频繁或中断过多。
      • %iowait:I/O等待高,可能存在磁盘性能瓶颈。
      • %idle:空闲率高,可能表示CPU资源未充分利用。
    • 结合其他工具(如topvmstat)定位具体进程或资源问题。
  4. 优化系统配置

    • 调整CPU调度策略
      # 查看当前调度策略  
      cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor  
      # 设置为性能模式(需root权限)  
      echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor  
      
    • 限制进程CPU使用
      sudo yum install cpulimit  
      cpulimit -l 50 -p <PID>  # 限制进程占用CPU不超过50%  
      
    • 优化内核参数
      # 降低swappiness(减少交换分区使用,适用于内存充足场景)  
      sysctl vm.swappiness=10  
      echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf  # 永久生效  
      
    • 绑定进程到指定CPU核心
      taskset -c 0,1 <PID>  # 将进程绑定到CPU 0和1  
      
    • 调整进程优先级
      nice -n -10 <command>  # 提高进程优先级(-20到19,数值越小优先级越高)  
      renice -n 10 -p <PID>  # 降低进程优先级  
      
  5. 定期自动化监控

    • 通过cron定时任务定期采集数据(如每5分钟一次):
      */5 * * * * cpustat -i 300 -c 1 > /var/log/cpu_usage_$(date +\%Y\%m\%d\%H\%M\%S).log  
      

注意事项

0
看了该问题的人还看了