
# htop 進階用法:10 個你可能唔知嘅 Linux 效能監控秘技
做 IT 嘅你一定用過 `top` 指令睇系統資源,但係 `htop` 先係真正嘅效能監控神器。佢唔單止靚仔過 `top`,仲有好多隱藏功能等緊你發掘。今日就同大家分享 10 個 `htop` 進階用法,等你監控伺服器嘅時候事半功倍!
## 點解要用 htop 而唔係 top?
`top` 係 Linux 預設嘅 process viewer,但佢嘅介面真係好原始。`htop` 係 `top` 嘅進化版,支援滑鼠操作、彩色顯示、垂直同水平捲動,仲可以即時 kill process 唔使打 PID。最重要嘅係,`htop` 嘅 CPU 同記憶體使用率顯示方式更加直觀,一眼就睇到邊個 process 食緊你嘅資源。
未裝嘅朋友,先裝咗佢:
# Ubuntu/Debian
sudo apt install htop
# CentOS/RHEL
sudo yum install htop
# macOS
brew install htop
## 1. F2 Setup 自訂顯示欄位
入到 `htop` 之後撳 `F2` 進入 Setup 畫面,你會見到一個完整嘅設定選單。喺「Columns」嗰度,你可以自由加減顯示嘅欄位。除咗預設嘅 PID、USER、CPU%、MEM% 之外,我強烈建議加埋呢幾個:
– **PPID** — 父進程 ID,揾 parent-child relationship 必備
– **IO_RATE** — 磁碟讀寫速度,睇邊個 process 扯緊 disk I/O
– **CTXT** — Context switch 次數,過高可能代表 process 有問題
用箭嘴揀好欄位之後,撳 `F10` 儲存,下次開 `htop` 就會自動用你嘅設定。
## 2. F3 / F4 搜尋同過濾 Process
撳 `F3` 可以搜尋特定 process 名,`htop` 會幫你 highlight 曬所有 match 嘅行。更加好用嘅係 `F4` filter 模式 — 佢會隱藏曬唔 match 嘅 process,淨係顯示你想睇嘅嘢。例如你想淨係睇 nginx 相關嘅 process:
撳 F4 → 輸入 nginx → 只顯示 nginx worker processes
呢個功能喺 debug 特定服務嘅時候極度有用,唔使喺幾百個 process 入面慢慢揾。
## 3. F5 Tree View 睇 Process 層級關係
撳 `F5` 可以切換去 Tree View 模式,將所有 process 按 parent-child 關係顯示。呢個功能對於理解 systemd service 點樣 spawn child process 非常有用。例如你可以清楚睇到:
systemd (1)
└─ containerd
└─ containerd-shim
└─ nginx: master
├─ nginx: worker
├─ nginx: worker
└─ nginx: worker
一眼就睇到 nginx master 開咗幾多個 worker,唔使逐個數。
## 4. F6 排序切換
`htop` 預設按 CPU 使用率排序,但撳 `F6` 可以揀其他排序方式。常用嘅包括:
– **PERCENT_MEM** — 按記憶體使用率排,揾 memory leak 必用
– **TIME** — 按累積 CPU 時間排,睇邊個 process 長期佔用 CPU
– **IO_RATE** — 按磁碟 I/O 排(需要先加呢個 column)
揀完之後撳 Enter 確認,`htop` 會記住你嘅排序偏好。
## 5. F7/F8 Nice 值調整
撳 `F7` 同 `F8` 可以即時調整 process 嘅 nice 值(優先級)。`F7` 係降低優先級(nice +1),`F8` 係提高優先級(nice -1,需要 root 權限)。
實戰例子:你有個 backup script 行緊,食咗好多 CPU,但你又唔想 kill 佢。你可以 highlight 佢,撳幾下 `F7` 降低優先級,等佢讓路俾其他重要 service。
## 6. F9 Kill Process 連 Signal 選擇
`htop` 嘅 kill 功能比 `top` 強大好多。Highlight 一個 process,撳 `F9`,你會見到一個 signal list:
– **SIGTERM (15)** — 優雅地終止(預設)
– **SIGKILL (9)** — 強制終止
– **SIGHUP (1)** — 重新載入設定(對 daemon 好有用)
– **SIGSTOP (19)** — 暫停 process
例如你想 reload nginx config 而唔 restart:
Highlight nginx master → F9 → 揀 SIGUP (1) → Enter
## 7. Space 鍵 Tag Process
用 `Space` 鍵可以 tag 多個 process,然後一次過對佢哋做操作。例如你想 kill 曬所有 zombie process:
F4 filter → 輸入 defunct → Space tag 曬 → F9 → SIGKILL
呢個批量操作功能係 `top` 完全做唔到嘅。
## 8. `/` 搜尋同 `\` 反向搜尋
除咗 `F3` 搜尋之外,`htop` 仲支援 incremental search。直接打字就會開始搜尋,`/` 係向前搜尋,`\` 係反向搜尋(即係向上搜)。呢個設計同 `vim` 好相似,vim 用家應該會好快上手。
## 9. CPU/Memory 圖表互動
`htop` 頂部嘅 CPU 同記憶體圖表唔係淨係得個睇字。你可以撳 `[` 同 `]` 嚟調整 CPU 圖表嘅更新速度,或者喺 Setup → Display options 入面轉換顯示模式(bar / text / graph)。
仲有一個隱藏功能:喺 CPU 圖表上面撳 `Enter`,可以切換顯示模式,例如由 bar chart 轉做 text mode,適合喺 terminal 細嘅環境使用。
## 10. Strace 整合 Debug
`htop` 有一個極少人知嘅功能:撳 `s` 可以對 highlighted process 執行 `strace`。呢個功能需要 `strace` 已安裝同 root 權限。佢會即時顯示嗰個 process 嘅 system call,對於 debug hang 咗嘅 process 非常有用。
# 先確保 strace 已安裝
sudo apt install strace
# 然後喺 htop 入面 highlight process → 撳 s
## 總結
`htop` 絕對係每個 Linux 系統管理員必備嘅工具。佢唔單止係一個 process viewer,更加係一個完整嘅系統效能監控平台。記住呢 10 個技巧,下次遇到伺服器效能問題嘅時候,你就可以更快揾到 root cause,唔使喺 command line 度慢慢估。
🔗 參考資料:NVD NIST 漏洞資料庫
你最常用嘅 `htop` 功能係邊個?有冇其他隱藏技巧想分享?留言話俾我知!



