发布于2026-07-15 阅读(0)
扫一扫,手机访问
系统响应时间这个指标,最能反映一台服务器的“健康状况”。很多运维同学一遇到响应慢,第一反应就是查CPU,但往往陷入“CPU跑满了”这种粗颗粒度的判断里。其实,有一个工具可以帮你把CPU使用情况拆解得清清楚楚,它就是cpustat——专门为分析系统响应时间而生的监控利器。

cpustat要使用它,首先得确保系统里装了对应的软件包。其实cpustat是sysstat工具集里的一员,安装方式因发行版而异:
sudo apt-get update
sudo apt-get install sysstat
sudo yum install sysstat
装完直接运行cpustat,就能看到CPU的实时快照——用户态、系统态、空闲时间,一目了然。
默认情况下,cpustat会输出一个简洁的表格,展示当前CPU各维度的占用百分比。你只需要在终端输入:
cpustat
如果你觉得信息太密集,想让它持续刷新,可以配合-p参数来指定采样间隔和持续时间。比如每2秒采样一次,持续60秒:
cpustat -p 2 60
重点来了。要判断系统响应时间是否正常,别只看一个数字,得盯住几个关键指标:
怎么解读?举个例子:
%user和%system都飙得很高,说明CPU正在被密集使用,响应时间大概率会变慢。%idle持续走低,CPU几乎没喘息机会,那响应慢就是CPU瓶在瓶颈。iowait——这个值一旦高了,意味着磁盘I/O在拖后腿。很多应用慢的根源不在CPU,而在磁盘。-m 选项查看多核CPU的使用情况现在的服务器基本都是多核CPU,只看整体平均值容易掩盖问题。比如某个核心被占满,其他核心空闲,但平均值可能显示“还好”。这时用-m参数,可以逐个核心查看:
cpustat -m
每个核心的利用率、空闲时间、iowait都会单独列出,哪个核在“偷懒”或“累趴”,一目了然。
单一工具总有些盲区。cpustat擅长的是CPU层面的精细分析,但如果想全面排查系统响应慢的问题,建议搭配top、htop、vmstat这些老牌工具。比如用vmstat看内存和进程调度,用top看进程级别的资源消耗,把几个工具的输出对照着看,诊断效率会高很多。
下面是个实际跑出来的例子,命令是cpustat -p 2 60:
Linux 5.4.0-42-generic (hostname) 05/20/2021 _x86_64_(4 CPU)
a vg-cpu: %user %system %idle %iowait %steal %guest %gnice
12.34 23.45 64.21 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s a vgrq-sz a vgqu-sz await svctm %util
sda 0.00 0.00 1.00 0.50 8.00 16.00 16.00 0.00 0.00 0.00 0.10
在这个输出里,%user和%system加起来才35%左右,%idle高达64%,CPU明显不紧张。iowait是0.00,磁盘利用率%util只有0.10%,说明磁盘I/O也毫无压力。综合来看,这台服务器的响应时间应该是正常的。——当然,这只是CPU和磁盘层面的初步判断,如果还有内存或网络瓶颈,需要进一步排查。但至少,cpustat已经帮你排除了CPU和I/O这两个最常出问题的环节。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8