top 是 Linux 系統管理員最常用的即時效能監控工具,提供動態全螢幕介面,涵蓋系統整體負載、記憶體使用、CPU 細分狀態與進程級資源消耗。本文詳細拆解 top 三大顯示區塊與互動熱鍵,助你快速定位效能瓶頸。
top # 啟動
q # 結束離開
| 行 | 內容 | 關鍵指標說明 |
|---|---|---|
| 1 | top - 當前時間、系統運作時間、登入使用者數、負載平均 | load average 三值分別為 1/5/15 分鐘平均可執行進程數。超過 CPU 核心數 表示 CPU 壓力大。 |
| 2 | Tasks - 進程統計 | total/running/sleeping/stopped/zombie。關注 running 與 zombie 數。 |
| 3 | %Cpu(s) - CPU 使用率細分 | us(用戶)/sy(核心)/ni(優先級)/id(閒置)/wa(IO等待)/hi(硬中斷)/si(軟中斷)/st(虛擬機偷取)。wa 高提示 IO 瓶頸,sy 高提示核心鎖爭用。 |
| 4 | MiB Mem - 實體記憶體 | total/used/free/buff/cache。available = free + 可回收 cache 才是真正可用記憶體。 |
| 5 | MiB Swap - 交換分區 | 頻繁使用 Swap 代表實體記憶體不足,需擴充或優化程式。 |
執行期間輸入單一字元即可控制顯示:
| 鍵 | 功能 |
|---|---|
| h / ? | 顯示說明畫面 |
| l | 切換第 1 行顯示 |
| t | 切換第 2-3 行顯示 |
| m | 切換第 4-5 行顯示 |
| 1 | 切換 CPU 核心顯示(聚合/分核) |
| P | 依 CPU 使用率排序(預設) |
| M | 依記憶體使用率排序 |
| N | 依 PID 排序 |
| T | 依累積 CPU 時間排序 |
| k | 殺死進程(輸入 PID + 訊號) |
| r | 調整進程 nice 值 |
| d / s | 修改更新間隔(秒) |
| n | 設定顯示進程數量 |
| c | 切換顯示完整指令行/程式名 |
| H | 切換執行緒模式 |
| V | 樹狀顯示進程階層 |
| W | 將目前設定寫入 ~/.toprc |
| 欄位 | 說明 |
|---|---|
| PID | 進程 ID |
| USER | 擁有者 |
| PR / NI | 優先級 / Nice 值 |
| VIRT | 虛擬記憶體總量(含共享庫、映射檔案、未實際分配) |
| RES | 常駐記憶體(實際佔用實體 RAM) |
| SHR | 共享記憶體 |
| S | 狀態:R(執行) S(睡眠) D(不可中斷睡眠) Z(殭屍) T(停止) |
| %CPU | 佔用 CPU 百分比(單核基準,多核可超過 100%) |
| %MEM | 佔用實體記憶體百分比 |
| TIME+ | 累積 CPU 時間(百分之一秒精度) |
| COMMAND | 指令名/參數 |
top -b -n 1 | head -20 適合腳本擷取快照。top -u username。top -p 1234,5678。top -b -n 1 | grep java 快速定位 Java 進程資源用量。熟練掌握 top 互動熱鍵與欄位含義,能在數秒內判斷 CPU、記憶體、IO 三大資源瓶頸,並精準鎖定佔用資源的進程,是 Linux 運維的必備基本功。