# Linux 系統效能監控:用 htop 同 iostat 快速診斷伺服器瓶頸
做 IT 嘅朋友一定遇過呢個情況:server 突然慢到嘔,user 投訴到爆,老細企喺你後面問「幾時搞掂」。呢個時候你需要嘅係快速診斷工具,而唔係慢慢睇 log。
今日同大家分享兩個 Linux 必學嘅效能監控工具:**htop** 同 **iostat**,等你可以幾分鐘內揾到瓶頸所在。
## 點解要學 htop 同 iostat?
傳統嘅 `top` 命令雖然經典,但界面簡陋、操作唔直覺。`htop` 係佢嘅進化版,彩色界面、支援滑鼠、可以直觀咁睇到每個 CPU core 嘅使用率。而 `iostat` 就係專注喺磁碟 I/O 嘅神器,當你懷疑係 storage 拖慢成個系統嗰陣,佢就係你嘅最佳拍檔。
## htop 安裝同基本操作
首先安裝 htop(大部分 distro 都有):
# Ubuntu/Debian
sudo apt install htop -y
# CentOS/RHEL
sudo yum install htop -y
# 直接執行
htop
執行之後你會見到一個彩色嘅界面,最頂係 CPU、Memory、Swap 嘅使用率 bar。中間係每個 process 嘅詳細資訊,包括 PID、CPU%、MEM%、執行時間等。
### htop 常用快速鍵
| 快速鍵 | 功能 |
|——–|——|
| F6 | 排序(可以揀按 CPU、Memory 等排序) |
| F9 | Kill process(揀 signal) |
| F5 | Tree view(睇 parent-child process 關係) |
| F3 | Search process |
| F2 | Setup(自訂顯示欄位) |
| `/` | 搜尋 process 名 |
**實戰技巧:** 當 server 慢嗰陣,撳 F6 揀 PERCENT_CPU 排序,即刻睇到邊個 process 食曬 CPU。如果 CPU 唔高但 Memory 爆曬,就揀 PERCENT_MEM 排序。
## iostat 安裝同診斷磁碟瓶頸
`iostat` 係 `sysstat` package 嘅一部分:
# Ubuntu/Debian
sudo apt install sysstat -y
# CentOS/RHEL
sudo yum install sysstat -y
### 基本用法
# 顯示基本 CPU 同 Disk I/O 統計
iostat
# 每秒更新一次,連續顯示 5 次
iostat 1 5
# 顯示 extended disk statistics(更詳細)
iostat -x 1 5
### 點樣解讀 iostat 輸出?
當你執行 `iostat -x`,重點睇以下幾個欄位:
– **%util**:磁碟使用率百分比。如果長期接近 100%,代表磁碟係瓶頸
– **await**:平均每次 I/O 請求嘅等待時間(ms)。超過 20-30ms 就要留意
– **svctm**:平均每次 I/O 請求嘅服務時間(ms)
– **r/s, w/s**:每秒讀取/寫入次數
– **rkB/s, wkB/s**:每秒讀取/寫入嘅數據量(KB)
**實戰案例:** 有次公司個 MySQL server 突然慢到 timeout,用 `htop` 睇 CPU 同 Memory 都正常,但用 `iostat -x 1` 一睇,%util 長期 98%、await 超過 200ms。原來係 backup job 喺 background 行緊 full disk scan,搶曬 I/O bandwidth。Kill 咗個 job 之後即刻正常返。
## 進階組合技:htop + iostat 雙管齊下
真正嘅高手會同時開兩個 terminal:
# Terminal 1:監控 CPU/Memory
htop
# Terminal 2:監控 Disk I/O
iostat -x 1
咁樣你就可以同時睇到 CPU、Memory、Disk I/O 三個維度嘅狀況,快速判斷瓶頸喺邊一層。
## 其他有用嘅輔助工具
除咗 htop 同 iostat,以下工具都值得放入你嘅 toolbox:
– **vmstat**:睇 virtual memory 同 system 整體狀況
– **netstat / ss**:檢查 network connection 狀況
– **dstat**:all-in-one 監控工具(結合 vmstat、iostat、netstat)
– **glances**:更靚嘅 all-in-one 監控(web interface 都得)
## 總結
Linux 效能監控唔使嚇嚇用到 Prometheus + Grafana 咁大陣仗。對於緊急排查,`htop` + `iostat` 呢個組合已經可以幫你喺 5 分鐘內鎖定 80% 嘅效能問題。記住個口訣:**CPU/Memory 睇 htop,Disk I/O 睇 iostat,兩樣都正常就 check network。**
🔗 參考資料:NVD NIST 漏洞資料庫
下次 server 出事,唔好驚,開 terminal 打 `htop` 同 `iostat -x 1`,你已經贏咗一半。
#IT教學 #監控 #server #backup #技術分享




