linux獲取cpu占用率
在 Linux 系統中,有多種方式可以獲取 CPU 占用率,以下是一些常見的方法:
使用命令行工具
- top 命令:
- 功能:是常用的系統監控命令,能實時查看系統的進程和資源使用情況,包括 CPU 使用率、內存使用情況等。
- 使用方法:在終端中輸入
top命令,按下回車鍵。在輸出結果中,可以看到 “% CPU” 列,顯示了各個進程的 CPU 占用率,以及總體的 CPU 使用率。 - 示例:比如運行
top后,可能看到類似這樣的信息:“% CPU (s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st”,這里的 “us” 表示用戶空間程序的 CPU 使用率,“sy” 表示系統空間的 CPU 使用率,“id” 表示空閑 CPU 百分比等。 - 補充說明:如果是多核 CPU,想查看每個 CPU 的占用率,可以在
top命令的界面,按 “1” 鍵,即可看到其它 CPU 的占用率。
- htop 命令:
- 功能:
htop是top命令的一個增強版本,提供了彩色的界面和更多的交互功能,也可以直觀地查看 CPU 的使用情況,包括每個 CPU 核心的負載情況。 - 使用方法:若系統中未安裝
htop,可通過包管理器(如apt、yum等)進行安裝。安裝后,在終端中輸入htop命令。 - 示例:運行
htop后,界面中會以不同顏色顯示 CPU 使用率等信息,且能清晰看到每個 CPU 核心的使用情況。
- 功能:
- vmstat 命令:
- 功能:用于報告關于進程、內存、分頁、塊 I/O、陷阱和 CPU 活動的信息。
- 使用方法:在終端中輸入
vmstat [刷新間隔] [采樣次數],例如vmstat 1 5表示每隔 1 秒采集一次 CPU 使用率,共采集 5 次。 - 示例:輸出結果中,“us” 表示用戶態 CPU 使用率,“sy” 表示系統態 CPU 使用率,“id” 表示空閑 CPU 使用率等。
- mpstat 命令:
- 功能:是
sysstat包的一部分,用于顯示每個可用 CPU 的狀態。 - 使用方法:在終端中輸入
mpstat -p ALL,可以查看所有 CPU 核心的使用情況,包括用戶態、系統態、空閑態等。 - 示例:輸出會詳細列出每個 CPU 核心的各項使用率指標。
- 功能:是
- pidstat 命令:
- 功能:可以顯示每個進程的 CPU 使用率。
- 使用方法:在終端中輸入
pidstat。 - 示例:運行后會顯示各個進程的 PID 以及對應的 CPU 使用率等信息。
使用圖形界面工具
- Gnome System Monitor:如果使用的是 Gnome 桌面的 Linux 發行版,這是一個內置的系統監控工具,可顯示 CPU、內存、網絡等資源的使用情況,并支持實時刷新。
- 使用方法:通過應用菜單找到 “系統監控” 或 “System Monitor” 來啟動。
- 示例:在打開的界面中,可以直觀地看到 CPU 使用率的圖表和相關數據。
- KDE System Guard:對于使用 KDE 桌面的 Linux 發行版,這是類似的系統監控工具,提供了豐富的功能和可視化界面,方便用戶查看和管理系統資源。
- 使用方法:通過 KDE 菜單中的相應選項啟動。
- 示例:界面中會展示 CPU 使用率等系統資源的使用情況。
編寫腳本進行監控
可以編寫腳本來監控 CPU 使用率,這通常涉及到讀取
/proc/stat文件或調用上述系統命令(如top、vmstat等)并解析其輸出,以實現自定義的監控邏輯和報警機制。例如,以下是一個使用 Python 語言結合psutil庫來獲取 CPU 使用率的簡單腳本示例:收起

python
復制
psutil
time
cpu_percent psutilcpu_percentinterval
cpu_percent
timesleep
上述腳本通過psutil.cpu_percent函數獲取當前的 CPU 使用率,并每隔 5 秒打印一次。你可以根據實際需求修改腳本,將獲取的 CPU 使用率數據進行存儲、分析或觸發相應的操作。
