top 是 Linux/Unix 系統管理員最常用的即時效能監控工具。不同於 ps 的靜態快照,top 提供動態、可互動的程序視圖,預設每 5 秒更新一次,支援多種排序與過濾模式。
基本語法
top [-] [d delay] [q] [c] [s] [S] [i]
| 參數 | 說明 |
-d 秒數 | 指定更新間隔(預設 5 秒),互動模式下可按 s 修改。 |
-q | 無延遲刷新;具超級使用者權限時以最高優先權執行。 |
-S | 累積模式:顯示程序啟動以來的總 CPU 時間。 |
-s | 安全模式:停用潛在危險的互動指令(如 k 殺程序、r 改優先權)。 |
-i | 不顯示閒置或殭屍程序。 |
-c | 顯示完整命令列(含參數),而非僅程式名。 |
畫面欄位解讀
標題列
- uptime:系統開機時間、執行時間、1/5/15 分鐘平均負載。
- processes:總程序數、執行中、睡眠、停止、殭屍程序統計。
- CPU states:user%、system%、nice%(負優先權)、idle%、iowait%、irq%、softirq%、steal%(虛擬化偷取)。總和可能超過 100%(nice 計入 user/system)。
- Mem/Swap:總量、已用、空闲、緩衝/快取。
程序列(預設依 CPU% 排序)
| 欄位 | 意義 |
| PID | 程序識別碼 |
| USER | 擁有者帳號 |
| PR / NI | 優先權 / Nice 值(-20 最高,19 最低) |
| VIRT / RES / SHR | 虛擬記憶體 / 實體常駐記憶體 / 共享記憶體 |
| S | 狀態:D(不可中斷睡眠) R(執行中) S(睡眠) T(追蹤/停止) Z(殭屍) |
| %CPU / %MEM | CPU/記憶體使用率 |
| TIME+ | 累積 CPU 時間(百分之一秒) |
| COMMAND | 指令名/完整命令列 |
常用互動熱鍵
| 鍵 | 功能 |
| P | 依 CPU% 排序(預設) |
| M | 依記憶體使用量排序 |
| T | 依累積時間排序 |
| N | 依 PID 排序 |
| k | 殺程序(輸入 PID 與信號,預設 SIGTERM) |
| r | 重設優先權 |
| u | 篩選特定使用者程序 |
| 1 | 切換顯示個別 CPU 核心使用率 |
| h / ? | 說明畫面 |
| q | 離開 |
| W | 寫入設定檔 ~/.toprc(保留排序、顯示欄位等偏好) |
進階技巧
- 批次模式:
top -b -n 1 > top.log 輸出單次快照至檔案,適合腳本記錄。
- 特定 PID 監控:
top -p 1234,5678 僅顯示指定程序。
- 執行緒檢視: 按 H 切換顯示執行緒。
- 顏色/高亮: 按 z 開啟/關閉彩色模式,x 高亮排序欄,y 高亮執行中程序。
top 資訊豐富且即時,是 Linux 效能調校、異常排查的第一線工具。熟練其互動操作,能快速定位資源瓶頸與異常程序。