在 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)性能。