在 Linux 系統(tǒng)中,查看 CPU 使用情況是系統(tǒng)管理員和開發(fā)人員經(jīng)常需要進(jìn)行的操作。了解 CPU 的使用情況可以幫助我們優(yōu)化系統(tǒng)性能、排查性能瓶頸以及合理分配資源。以下是幾種常用的查看 CPU 使用情況的方法:
top
命令top
命令是一個(gè)實(shí)時(shí)顯示系統(tǒng)進(jìn)程資源使用情況的工具,它不僅可以查看 CPU 使用率,還可以查看內(nèi)存使用率、進(jìn)程 ID、用戶等信息。
$ top
在 top
命令的輸出中,%CPU
列顯示了每個(gè)進(jìn)程的 CPU 使用率。你可以通過(guò)以下按鍵來(lái)操作 top
命令:
P
鍵:按 CPU 使用率排序,方便快速找到占用 CPU 最高的進(jìn)程。M
鍵:按內(nèi)存使用率排序。q
鍵:退出 top
命令。htop
命令htop
命令是 top
命令的增強(qiáng)版,它提供了更直觀的彩色界面和更豐富的功能。
$ htop
在 htop
中,CPU 使用率以條形圖的形式顯示,非常直觀。你可以通過(guò)方向鍵瀏覽進(jìn)程列表,按 Enter
鍵查看特定進(jìn)程的詳細(xì)信息,按 F5
鍵查看樹狀視圖,按 F10
鍵退出。
mpstat
命令mpstat
命令可以顯示每個(gè) CPU 核心的使用情況,這對(duì)于多核處理器的系統(tǒng)非常有用。
$ mpstat
輸出示例:
Linux 5.4.0-42-generic (your-hostname) 08/15/2025 _x86_64_ (4 CPU)
04:30:00 PM CPU %user %nice %system %iowait %steal %idle
04:30:00 PM all 12.50 0.00 3.20 0.50 0.00 83.80
04:30:00 PM 0 10.00 0.00 2.00 0.00 0.00 88.00
04:30:00 PM 1 15.00 0.00 4.00 1.00 0.00 80.00
04:30:00 PM 2 10.00 0.00 2.00 0.00 0.00 88.00
04:30:00 PM 3 12.00 0.00 3.00 0.00 0.00 85.00
在輸出中,%user
表示用戶態(tài) CPU 使用率,%system
表示內(nèi)核態(tài) CPU 使用率,%idle
表示空閑 CPU 使用率。
4. 使用 /proc/stat
文件
/proc/stat
文件包含了系統(tǒng) CPU 使用情況的詳細(xì)統(tǒng)計(jì)信息。你可以通過(guò)以下命令查看其內(nèi)容:
$ cat /proc/stat
輸出示例:
cpu 10000 2000 5000 80000 1000 0 0 0 0 0
cpu0 2000 500 1000 20000 300 0 0 0 0 0
cpu1 2000 500 1000 20000 300 0 0 0 0 0
cpu2 2000 500 1000 20000 300 0 0 0 0 0
cpu3 2000 500 1000 20000 300 0 0 0 0 0
每一行代表一個(gè) CPU 核心的統(tǒng)計(jì)信息,cpu
行表示所有核心的總和。字段的含義如下:
user
:用戶態(tài) CPU 時(shí)間nice
:低優(yōu)先級(jí)用戶態(tài) CPU 時(shí)間system
:內(nèi)核態(tài) CPU 時(shí)間idle
:空閑 CPU 時(shí)間iowait
:等待 I/O 操作的 CPU 時(shí)間irq
:處理硬件中斷的 CPU 時(shí)間softirq
:處理軟件中斷的 CPU 時(shí)間Linux 系統(tǒng)中還有一些其他工具可以用于查看 CPU 使用情況,例如 sar
命令、atop
命令等。
$ ps aux --sort -pcpu | head -n 10
$ sar -u
$ atop
通過(guò)這些工具和命令,你可以全面了解 Linux 系統(tǒng)的 CPU 使用情況,從而更好地管理和優(yōu)化系統(tǒng)性能。