在 Linux 系統管理的日常工作中,即時掌握系統資源使用狀況是效能調校與故障排查的基礎。top 指令作為最經典、最普及的動態監控工具,能即時呈現處理器、記憶體、交換空間及行程資訊,是每位系統管理員必須精通的核心技能。本文將從指令語法、參數詳解、介面欄位解讀到進階操作技巧,為你完整拆解 top 的實戰應用。
top [-] [d delay] [q] [c] [S] [s] [i] [n]
| 參數 | 功能說明 |
|---|---|
-d 秒數 | 指定畫面更新間隔(預設 3 秒) |
-q | 無延遲更新;若為 root 則以最高優先權執行 |
-c | 顯示完整指令路徑與參數(而非僅程式名) |
-S | 累積模式:將已結束子行程的 CPU 時間累加到父行程 |
-s | 安全模式,限制部份互動指令 |
-i | 不顯示閒置或殭屍行程 |
-n 次數 | 更新指定次數後自動退出 |

圖 1:top 指令預設顯示介面
| 欄位 | 意義 | 關注重點 |
|---|---|---|
| PID | 行程識別碼 | 唯一追蹤依據 |
| USER | 擁有者帳號 | 判斷權限歸屬 |
| PR / NI | 優先級 / Nice 值 | NI 為負表高優先級 |
| VIRT | 虛擬記憶體總量 | 含程式碼、資料、共享庫、換出頁面 |
| RES | 常駐記憶體(實體佔用) | 真實佔用 RAM 大小 |
| SHR | 共享記憶體 | 可被其他行程共用部分 |
| S | 行程狀態 | R=執行、S=睡眠、D=不可中斷睡眠、Z=殭屍、T=停止 |
| %CPU | CPU 使用率 | 多核心下可超過 100% |
| %MEM | 實體記憶體佔比 | RES / 總記憶體 |
| TIME+ | 累積 CPU 時間 | 精確到百分之一秒 |
| COMMAND | 啟動指令 | 完整路徑需搭配 -c 參數 |
在 top 執行期間,下列熱鍵可即時切換檢視模式:
top -o %MEM -b -n 1 | head -20
以批次模式輸出前 20 筆依記憶體排序的行程,適合寫入腳本定期記錄。
top -u mysql -p $(pgrep -d',' mysqld)
僅顯示 mysql 使用者及 mysqld 相關行程,精準監控資料庫資源佔用。
Z 狀態行程誤區:看到 %CPU 超過 100% 以為系統異常。
事實:多核心系統下,%CPU 以單核心 100% 為基準,4 核心滿載可達 400%。
誤區:VIRT 數值大代表記憶體壓力大。
事實:VIRT 包含未實際配置的位址空間,關注 RES 才是實體壓力指標。
掌握 top 不只是讀懂數字,更是建立「資源視角」:在數字波動中預判瓶頸、在異常中快速定位根因。建議每位運維工程師每日花 5 分鐘觀察生產環境 top 輸出,養成肌肉記憶,關鍵時刻才能從容應對。