一、安装cpustat工具
cpustat是Debian系统中sysstat包的一部分,用于监控CPU使用情况。首先需要安装sysstat:
sudo apt update && sudo apt install sysstat
安装完成后,cpustat即可直接使用。
二、使用cpustat监控CPU状态
cpustat提供多种监控模式,帮助定位性能瓶颈:
cpustat,默认每秒刷新一次,显示所有CPU的**用户态(%usr)、内核态(%sys)、空闲(%idle)、I/O等待(%iowait)**等指标,快速判断CPU整体负载。-p参数指定核心编号(如cpustat -p 0查看CPU 0的使用情况),或-p ALL查看所有核心,识别单个核心的过载问题。-i参数设置采样间隔(如cpustat -i 2每2秒刷新),结合-c参数指定持续时间(如cpustat -i 2 -c 5每2秒刷新一次,共5次),避免持续输出干扰。/var/log/sysstat/目录下的日志文件(如saXX,XX代表日期)。使用sar -u -f /var/log/sysstat/saXX命令查看指定日期的CPU历史报告,分析长期趋势。三、分析cpustat输出识别瓶颈
cpustat的输出结果中,关键指标的含义及对应的瓶颈类型如下:
四、基于分析结果的优化措施
根据cpustat识别的瓶颈,采取针对性优化:
nice命令降低其优先级(如nice -n 10 command,数值越大优先级越低),或使用renice命令调整已运行进程的优先级(如renice -n 10 -p PID),确保关键进程(如数据库)获得足够CPU时间。/etc/sysctl.conf,增加vm.dirty_ratio降低磁盘写入频率、调整net.core.somaxconn增加网络连接队列长度);若%iowait过高,升级硬盘(如从HDD更换为SSD)、优化磁盘调度器(如将deadline改为noop,适用于SSD)。五、持续监控与迭代优化
性能优化是持续过程,需定期使用cpustat监控系统:
cpustat > cpu_usage_$(date +%Y%m%d%H%M%S).txt),定期收集数据以便后续分析。top、htop、vmstat)进行综合分析(如top查看实时进程排名、vmstat查看内存与I/O状态),更全面地定位问题。