要監控linux系統資源占用,可使用vmstat和htop工具。一、vmstat用于查看系統整體資源快照,提供進程、內存、io、cpu等信息,關鍵字段如r值過高表示cpu瓶頸,wa高表示磁盤慢,可用2秒間隔輸出5次:vmstat 2 5。二、htop用于交互式監控進程資源,界面直觀,支持排序、過濾、發送信號等操作,安裝后直接輸入htop啟動,按f6可按cpu或mem排序,f5切換樹狀視圖。三、建議搭配使用,先用vmstat定位瓶頸,再用htop查找具體進程,結合iostat等工具進一步分析問題。
監控linux系統資源占用是運維和開發人員日常工作中非常重要的一環。當服務器出現性能瓶頸時,快速定位問題源頭往往依賴于對CPU、內存、磁盤IO等資源的實時觀察。在眾多命令行工具中,vmstat 和 htop 是兩個非常實用且常用的工具,它們可以幫助我們從不同角度查看系統的運行狀態。
一、vmstat:系統整體資源使用的“快照”
vmstat 是一個輕量級的系統監控工具,能夠提供關于進程、內存、交換分區、IO、CPU等方面的簡明信息。它特別適合用來做快速診斷或寫入腳本進行周期性采集。
基本用法:
vmstat [delay] [count]
例如每2秒輸出一次,共5次:
vmstat 2 5
關鍵字段解讀:
- procs: r(運行隊列)和 b(等待IO的進程數),數值過高可能表示CPU或IO瓶頸。
- memory: swpd(使用虛擬內存)、free(空閑內存)、buff(緩沖區緩存)、cache(頁面緩存)。
- swap: si(從磁盤讀入內存)和 so(寫入磁盤的內存頁),如果持續有值說明內存不足。
- io: bi(塊設備讀取)和 bo(塊設備寫入),反映磁盤IO壓力。
- system: in(每秒中斷次數)和 cs(上下文切換次數)。
- cpu: us(用戶態)、sy(系統態)、id(空閑)、wa(等待IO)等比例,wa高說明磁盤慢。
建議:
- 如果發現 r 值長期大于 CPU 核心數,說明可能存在 CPU 瓶頸。
- 若 wa 比例較高,則需要排查磁盤性能問題。
- 結合 iostat 使用可以更全面地分析 IO 性能。
二、htop:交互式進程資源監控利器
相比傳統的 top,htop 提供了更直觀的界面和更豐富的功能,比如顏色區分、樹狀結構顯示、快捷鍵操作等,非常適合實時查看具體進程的資源消耗情況。
安裝方法(以 ubuntu 為例):
sudo apt install htop
啟動方式:
直接輸入:
htop
主要特點與使用技巧:
- 支持鼠標操作和方向鍵選擇進程。
- 可按 CPU、內存、運行時間等排序,方便快速找到高負載進程。
- 支持過濾(F4)查找特定進程。
- 可發送信號給進程(如終止、暫停)通過 F9 快捷鍵。
- 顯示每個 CPU 的使用率(頂部條形圖)。
- 支持顯示線程模式(按 H 切換)。
小貼士:
- 按 F6 可以選擇排序字段,默認是 PID 排序,建議改為 %CPU 或 %MEM 更方便找熱點進程。
- 按 F5 可以切換為樹狀視圖,清晰展示父子進程關系。
- 在遠程服務器上運行 htop 時,記得先確認終端支持顏色顯示,否則可能會亂碼。
三、搭配使用效果更佳
雖然 vmstat 和 htop 各有側重,但在實際排查問題時,兩者結合使用會更有優勢。
比如:
- 先用 vmstat 查看是否有明顯的內存或IO瓶頸。
- 再用 htop 定位到具體哪個進程占用了大量資源。
- 如果懷疑磁盤IO問題,可配合 iostat 或 iotop 進一步分析。
這樣組合使用可以形成一個完整的資源監控鏈條,幫助你更快地判斷問題所在。
基本上就這些,這兩個工具都很輕量,幾乎不消耗額外資源,但功能又足夠強大,是Linux下系統監控不可或缺的好幫手。