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 核心的统计信息,并且每秒更新一次。