Linux 系統效能監控:用 htop 同 iostat 快速排查伺服器瓶頸

# Linux 系統效能監控:用 htop 同 iostat 快速排查伺服器瓶頸 做 IT 嘅朋友一定遇過呢個情況:伺服器突然慢到嘔,CPU 飆到 100%,但係你完全唔知邊個 process 搞鬼。今日就同大家分享兩個 Linux 必學嘅效能監控工具 — **htop** 同 **iostat**,等你可以快速排查伺服器瓶頸。 ## 點解要用 htop 而唔係 top? 傳統嘅 `top` 命令...

Linux 系統效能監控:用 htop 同 iostat 快速排查伺服器瓶頸 - 文章重點速覽 infographic

# Linux 系統效能監控:用 htop 同 iostat 快速排查伺服器瓶頸

做 IT 嘅朋友一定遇過呢個情況:伺服器突然慢到嘔,CPU 飆到 100%,但係你完全唔知邊個 process 搞鬼。今日就同大家分享兩個 Linux 必學嘅效能監控工具 — **htop** 同 **iostat**,等你可以快速排查伺服器瓶頸。

## 點解要用 htop 而唔係 top?

傳統嘅 `top` 命令雖然內置喺所有 Linux distro,但係界面真係好原始。**htop** 係 top 嘅進化版,支援滑鼠操作、彩色顯示、直觀嘅 CPU/記憶體使用率 bar chart,仲可以一鍵 kill process。

### 安裝 htop

Ubuntu/Debian:

sudo apt update && sudo apt install htop -y

RHEL/CentOS/Rocky Linux:

sudo dnf install htop -y

### htop 實戰技巧

執行 `htop` 之後,你會見到一個好豐富嘅界面:

– **F6 Sort By**:按 CPU%、MEM%、PID 等排序,搵出最食資源嘅 process
– **F9 Kill**:直接 kill 可疑 process,唔使另外打 `kill -9`
– **F5 Tree View**:用樹狀結構睇 parent/child process 關係
– **F2 Setup**:自訂顯示欄位,例如加 IO_RATE 睇磁碟讀寫

最常用嘅場景:伺服器 CPU 100%,打 `htop` → F6 → 揀 PERCENT_CPU → 即刻見到邊個 process 食晒 CPU。如果係 MySQL 或 Apache,你可能要進一步排查 query 或 connection。

## iostat:磁碟 I/O 瓶頸排查神器

CPU 唔係唯一瓶頸。好多時伺服器慢係因為**磁碟 I/O 爆煲**。`iostat` 係 sysstat 套件嘅一部分,專門睇 storage performance。

### 安裝 sysstat

sudo apt install sysstat -y   # Debian/Ubuntu
sudo dnf install sysstat -y   # RHEL/CentOS

### iostat 常用參數

# 每秒輸出一次,總共 5 次
iostat -x 1 5

# 只睇特定磁碟(例如 sda)
iostat -x sda 1 5

# 顯示 MB/s 而唔係 KB/s
iostat -mx 1 5

### 點樣解讀 iostat 輸出?

重點睇以下幾個欄位:

| 欄位 | 意思 | 警戒值 |
|——|——|——–|
| **%util** | 磁碟忙碌時間百分比 | >80% 代表瓶頸 |
| **await** | 平均 I/O 等待時間 (ms) | >20ms 代表偏慢 |
| **svctm** | 平均 I/O 服務時間 (ms) | 配合 await 一齊睇 |
| **r/s, w/s** | 每秒讀寫次數 | 視乎磁碟類型 |

如果 `%util` 長期接近 100%,而 `await` 又高過 50ms,咁你嘅磁碟好大機會係瓶頸。解決方案包括:升級 SSD、加 RAM 做 cache、或者將高 I/O 嘅 application 搬去獨立 storage。

## 實戰組合技:htop + iostat 同步排查

假設你嘅 web server 突然好慢,可以咁做:

# Terminal 1:睇 CPU/Memory
htop

# Terminal 2:睇磁碟 I/O
iostat -x 1

如果 htop 顯示 CPU 正常但 iostat 顯示 `%util` 100%,咁就係 storage 問題。如果掉轉,CPU 爆但磁碟正常,咁就要睇下係咪 application level 嘅問題(例如 infinite loop、太多 connection)。

## 進階提示:用 dstat 睇全貌

如果你想要一個工具睇晒 CPU、Memory、Disk、Network,可以試下 `dstat`:

dstat -cdnm 1 5
# -c: CPU, -d: disk, -n: network, -m: memory

不過 dstat 已經停止維護,新一代嘅替代品係 `dool`(dstat 嘅 fork)。

## 總結

Linux 效能監控唔使好複雜,**htop** 同 **iostat** 兩個工具已經可以覆蓋 80% 嘅日常排查場景。記住個口訣:**CPU 慢睇 htop,磁碟慢睇 iostat,兩樣都慢就兩邊一齊睇**。

🔗 參考資料:NVD NIST 漏洞資料庫

下次伺服器出事,唔好再亂咁 reboot,用呢兩個工具搵出真兇先!