cpustat
是一個用于顯示 CPU 使用情況的工具,它是 sysstat
軟件包的一部分。cpustat
可以顯示每個 CPU 的詳細使用情況,包括用戶空間占用、系統空間占用、空閑時間等。以下是如何解讀 cpustat
輸出結果的一些基本指導:
Linux 5.4.0-42-generic (hostname) 01/01/2023 _x86_64_ (4 CPU)
avg-cpu: %user %system %idle %iowait %steal %guest %gnice
12.34 23.45 63.12 0.12 0.01 0.00 0.00
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 0.50 8.00 16.00 16.00 0.00 0.00 0.00 0.01
sdb 0.00 0.00 0.50 0.50 4.00 12.00 16.00 0.00 0.00 0.00 0.01
%user
: 用戶空間占用 CPU 的百分比。%system
: 系統空間(內核)占用 CPU 的百分比。%idle
: CPU 空閑時間的百分比。%iowait
: CPU 等待 I/O 操作完成的時間百分比。%steal
: 虛擬機管理程序從當前虛擬機中“偷取”的時間百分比(主要用于虛擬化環境)。%guest
: 運行虛擬機的時間百分比。%gnice
: 以 nice 值(優先級)運行進程的時間百分比。rrqm/s
: 每秒合并的讀請求數。wrqm/s
: 每秒合并的寫請求數。r/s
: 每秒完成的讀操作數。w/s
: 每秒完成的寫操作數。rkB/s
: 每秒讀取的數據量(以千字節為單位)。wkB/s
: 每秒寫入的數據量(以千字節為單位)。avgrq-sz
: 平均每次 I/O 請求的大?。ㄒ陨葏^為單位)。avgqu-sz
: 平均 I/O 隊列長度。await
: 平均每次 I/O 操作的等待時間(以毫秒為單位)。svctm
: 平均每次 I/O 操作的服務時間(以毫秒為單位)。%util
: 設備利用率,即設備忙碌的時間百分比。cpustat
默認會顯示所有 CPU 的匯總信息。如果需要查看特定 CPU 的詳細信息,可以使用 -C
選項指定 CPU 編號。%steal
和 %guest
列可能更有意義。通過分析這些數據,你可以了解系統的 CPU 使用情況,識別潛在的性能瓶頸,并進行相應的優化。