cpustat
是一个用于显示 CPU 使用情况的工具,它是 sysstat
软件包的一部分。在 Debian 系统中,如果你还没有安装 sysstat
,可以通过以下命令安装:
sudo apt-get update
sudo apt-get install sysstat
安装完成后,你可以通过运行 cpustat
命令来查看 CPU 的实时使用情况。下面是一些基本的输出结果解释:
Linux 5.4.0-42-generic (hostname) 03/21/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.34 0.00 1.23 0.12 0.00 86.31
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 1.00 1.00 8.00 8.00 16.00 0.00 0.00 0.00 0.10
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
这里是一些关键列的解释:
%user
: 用户空间程序使用的 CPU 时间百分比。%nice
: 用户空间程序中,nice值为负的进程使用的 CPU 时间百分比。%system
: 内核空间程序使用的 CPU 时间百分比。%iowait
: CPU 等待 I/O 操作完成的时间百分比。%steal
: 在虚拟化环境中,等待其他虚拟机使用的 CPU 时间百分比。%idle
: CPU 空闲时间百分比。接下来的部分显示了每个设备的 I/O 统计信息:
Device
: 设备名称。rrqm/s
: 每秒合并的读请求数。wrqm/s
: 每秒合并的写请求数。r/s
: 每秒完成的读请求数。w/s
: 每秒完成的写请求数。rkB/s
: 每秒读取的数据量(KB)。wkB/s
: 每秒写入的数据量(KB)。avgrq-sz
: 平均每次 I/O 请求的大小(扇区)。avgqu-sz
: 平均 I/O 请求队列长度。await
: 平均每次 I/O 操作的等待时间(毫秒)。svctm
: 平均每次 I/O 操作的服务时间(毫秒)。%util
: 设备利用率,即设备忙于处理 I/O 请求的时间百分比。cpustat
的输出可以帮助你了解系统的 CPU 使用情况和 I/O 性能。如果你需要更详细的输出或者特定时间间隔的统计信息,可以使用 -P
选项指定 CPU 核心,或者使用 -i
选项指定时间间隔,例如 cpustat -P ALL 1
将显示所有 CPU 核心的统计信息,并且每秒更新一次。