mpstat (MultiProcessor Statistics) 來自 sysstat 套件,能顯示每顆 CPU 核心的詳細使用率,比 vmstat 更適合多核心分析。
# CentOS/RHEL (掛載光碟或 yum) yum install sysstat # Debian/Ubuntu apt-get install sysstat
| 指令 | 說明 |
|---|---|
mpstat -P ALL | 顯示所有核心即時統計 |
mpstat -P 2 | 顯示第 2 顆核心(編號從 0 起) |
mpstat 2 | 每 2 秒更新一次,持續顯示 |
mpstat -P ALL 2 5 | 所有核心,每 2 秒,共 5 次,最後顯示平均 |
mpstat -V | 顯示版本資訊 |
| 欄位 | 英文全名 | 中文說明 |
|---|---|---|
| CPU | Processor number | 處理器編號,all 表平均 |
| %user | User level | 用戶態佔用 % |
| %nice | Nice priority | nice 負值程序佔用 % |
| %sys | System level | 核心態佔用 %(不含中斷) |
| %iowait | I/O wait | 等待磁碟 I/O 佔用 % |
| %irq | Hardware interrupts | 硬中斷處理佔用 % |
| %soft | Software interrupts | 軟中斷處理佔用 % |
| %steal | Steal time | 虛擬化被 hypervisor 佔用 % |
| %idle | Idle | 完全閒置佔用 % |
| intr/s | Interrupts/sec | 每秒中斷總次數 |
數據讀取自 /proc/stat,公式:
total = user + nice + system + idle + iowait + irq + softirq %field = (field_cur - field_pre) / (total_cur - total_pre) * 100
mpstat 是多核心效能分析的基石工具,配合 pidstat、perf 可深入定位熱點。