Linux 效能監控實戰:用 htop iotop nmon 揪出系統瓶頸

# Linux 效能監控實戰:用 htop + iotop + nmon 揪出系統瓶頸 做 IT 嘅你一定遇過呢種情況:server 突然慢到嘔,CPU 飆到 100%,但係你完全唔知邊個 process 搞鬼。今日就同大家分享三個 Linux 效能監控神器,等你可以快速定位問題根源。 ## 點解要學 Linux 效能監控? 無論你係 system admin、DevOps 定係 backend ...

Linux 效能監控實戰:用 htop iotop nmon 揪出系統瓶頸 - 文章重點速覽 infographic

# Linux 效能監控實戰:用 htop + iotop + nmon 揪出系統瓶頸

做 IT 嘅你一定遇過呢種情況:server 突然慢到嘔,CPU 飆到 100%,但係你完全唔知邊個 process 搞鬼。今日就同大家分享三個 Linux 效能監控神器,等你可以快速定位問題根源。

## 點解要學 Linux 效能監控?

無論你係 system admin、DevOps 定係 backend developer,Linux 效能監控都係基本功。當 production server 出事嘅時候,你冇時間慢慢 Google — 你要即刻知道邊度出問題。htop、iotop 同 nmon 呢三個工具,就係你嘅救命稻草。

## htop:進階版 Task Manager

htop 係 top 嘅升級版,有彩色介面、滑鼠支援、直覺嘅 process 管理。

### 安裝 htop

# Ubuntu/Debian
sudo apt install htop -y

# CentOS/RHEL
sudo yum install htop -y

# macOS
brew install htop

### htop 常用快速鍵

| 快速鍵 | 功能 |
|——–|——|
| F6 | 排序方式(CPU/MEM/TIME) |
| F9 | Kill process(可以揀 signal) |
| F5 | Tree view(睇 parent-child 關係) |
| F2 | Setup(自訂顯示欄位) |
| / | 搜尋 process |

### 實戰場景:CPU 飆高點算?

# 1. 開 htop
htop

# 2. 按 F6 揀 PERCENT_CPU 排序
# 3. 睇邊個 process 食最多 CPU
# 4. 按 F9 → 揀 SIGTERM (15) → Enter kill 佢

## iotop:磁碟 I/O 殺手

CPU 冇事但 server 都係慢?好大機會係 disk I/O 爆咗。iotop 幫你睇邊個 process 瘋狂讀寫硬碟。

### 安裝 iotop

sudo apt install iotop -y   # Debian/Ubuntu
sudo yum install iotop -y   # RHEL/CentOS

### iotop 常用參數

# 只顯示有 I/O 活動嘅 process
sudo iotop -o

# Batch mode(適合 script/logging)
sudo iotop -b -n 5 -o

# 顯示累計 I/O(而唔係即時速率)
sudo iotop -a

### 實戰場景:MySQL 瘋狂寫 disk

sudo iotop -o
# 見到 mysqld 嘅 DISK WRITE 好高
# → 可能係 slow query 或者冇 index
# → 去 MySQL 度行 SHOW FULL PROCESSLIST 排查

## nmon:全能型監控工具

nmon 係 IBM 開發嘅全能監控工具,可以同時睇 CPU、Memory、Disk、Network,仲可以 export 數據做圖表分析。

### 安裝 nmon

sudo apt install nmon -y   # Debian/Ubuntu
sudo yum install nmon -y   # RHEL/CentOS

### nmon 互動模式

nmon
# 按 c = CPU
# 按 m = Memory
# 按 d = Disk
# 按 n = Network
# 按 t = Top processes
# 按 k = Kernel

### nmon 數據收集模式(超有用!)

# 每 5 秒收集一次,總共收集 120 次(10 分鐘)
nmon -f -s 5 -c 120 -m /tmp/nmon_logs/

# 之後可以用 nmonchart 將 .nmon file 轉成網頁圖表

## Linux 效能監控最佳實踐

1. **建立 baseline** — server 正常時嘅 CPU/Mem/Disk 數據要記錄低,出事時先有得比較
2. **自動化監控** — 用 cron job 定時行 nmon 收集數據
3. **Alert 機制** — set threshold,CPU > 80% 超過 5 分鐘就 alert
4. **Log rotation** — nmon log 好快爆,記得 set logrotate

## 總結

三個工具各有定位:htop 睇 process level、iotop 睇 disk I/O、nmon 做全面數據收集。熟手嘅話,由發現問題到定位 root cause 可以喺 30 秒內完成。下次 server 出事,唔好再 panic — 開 htop 先啦!

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

你有冇用開其他 Linux 效能監控工具?留言分享下!