熱門分類
載入中…
目錄0%

🐧 Linux 監控工具全比較:top / htop / Glances / nmon / dstat 實務應用與效能分析指南

    🐧 Linux 監控工具全比較:top / htop / Glances / nmon / dstat 實務應用與效能分析指南

    想有效掌握 Linux 系統效能狀況,最常使用的就是 CPU、記憶體、Disk I/O、網路等即時監控工具。 傳統的 top 雖然已經很好用,但面對複雜的工作負載、容器環境或持續效能瓶頸分析時,工具越齊全,你的維運效率越高。 本文以實務角度比較 top、htop、Glances、nmon、dstat 的功能差異,並提供如何在常見情境中選用最佳工具。

    一、監控工具概覽比較表

    工具 即時監控 CPU/Memory I/O 網路 歷史紀錄 UI 介面 適用情境
    top ▲(有限)CLI 快速查看、所有系統預設有
    htop ▲(有限)互動式彩色 UI 直覺查看 CPU/Threads、Kill Process
    Glances ✔(可匯出)Web/CLI 全方位統整、遠端監控、高度擴充
    nmon ✔(Disk 非常強)✔(CSV 匯出)CLI + 圖表分析工具 性能瓶頸調查、大規模效能記錄
    dstat ✔(I/O 超完整)✔(CSV)CLI 觀察 I/O、Network、Context Switch 變化

    二、top:Linux 內建、最基本的即時監控工具

    top 幾乎在所有 Linux 發行版中都已預設安裝。它適合:

    • 快速排查 CPU 最高的程序
    • 觀察整體 Load Average、記憶體壓力
    • 快速找出卡住的 Process
    # 啟動 top
    top
    
    # 常用熱鍵
    P   依 CPU 排序
    M   依 Memory 排序
    k   Kill process
    1   顯示每一顆 CPU 的使用率
    

    top 的侷限

    • 介面不夠直覺
    • I/O 監控有限
    • 沒有歷史紀錄功能

    三、htop:top 的強化版,介面友好且互動性高

    htop 被視為 top 的高階版,具有更美觀的彩色介面、Process Tree 樹狀圖、滑鼠操作支援。

    # 安裝 htop
    sudo apt install htop     # Debian/Ubuntu
    sudo dnf install htop     # RHEL/CentOS/Rocky
    
    # 執行
    htop
    

    htop 優點

    • 顯示 CPU 個別核心使用率(含 logical cores)
    • 可視化記憶體條、Swap 負載條
    • Tree View 方便找出父子程序
    • 按一下 F9 即可 Kill Process

    htop 的侷限

    • 缺乏深入 I/O、Network 分析
    • 無法詳細記錄長期效能

    四、Glances:全方位統整的效能儀表板(支援 Web UI)

    Glances 是 Python 寫的跨平台系統監控工具,最大亮點是提供「全項目即時監控」: CPU、Memory、Disk、Network、Sensors、Docker、Systemd、Processes、Load、I/O… 全部整合在同一畫面。

    安裝 Glances

    sudo apt install glances   # Debian/Ubuntu
    sudo dnf install glances   # RHEL 9+
    pip install glances        # 通用方式
    

    啟動方式

    glances          # 本地監控
    glances -w       # 啟動 Web UI(預設 port 61208)
    glances --export csv       # 將監控資料匯出
    

    Glances 優點

    • 全項目整合,不需切視窗或執行多工具
    • 支援 Web UI,可遠端監控
    • 支援匯出到 InfluxDB、Prometheus、CSV
    • 插件架構能顯示 Docker、sensor 等高階資訊

    Glances 缺點

    • 佔用資源比 top/htop 多一些
    • 對純 CLI 使用者可能覺得畫面較複雜

    五、nmon:IBM 開發、企業級效能調校神器

    nmon(Nigel’s Monitor)在企業中被廣泛用於效能分析,尤其適合:

    • Disk I/O 深度分析
    • CPU 上千核心的大型機性能記錄
    • 長時間記錄(以 CSV 輸出供分析)
    • 搭配 nmon Analyser 轉成 Excel 圖表

    安裝

    sudo apt install nmon
    sudo dnf install nmon
    

    啟動與常用按鍵

    nmon
    
    CPU  → c
    Disk → d
    Network → n
    Memory → m
    Load → l
    Top processes → t
    

    長期記錄模式(perf 分析最常用)

    # 每 10 秒記錄一次,共持續 1 小時
    nmon -f -s 10 -c 360
    

    輸出會生成一個 .nmon 檔,可用 nmon analyser 產生圖表化報表。

    六、dstat:最全面的 I/O 與 Network 分析工具

    dstat 非常適合排查下列問題:

    • I/O 是否爆量?是否被某程序佔滿?
    • 磁碟延遲是否異常?
    • Network 流量是否突增?
    • 是否有 context switch 突然飆高?

    安裝

    sudo apt install dstat
    sudo dnf install dstat
    

    常用範例

    # 查看 CPU + Disk + Network + Page Faults
    dstat -cdngy
    
    # 每 1 秒記錄,並輸出到 CSV
    dstat -cdngy --output log.csv
    

    dstat 優點

    • 完整 I/O 與網路監控,勝過 top/htop
    • 清楚顯示 bottleneck 發生的時序
    • 可匯出 CSV 做圖表分析

    七、實務情境:到底該用哪一個?

    1. CPU 飆高(不明原因)

    • 首選:htop(清楚查看 Threads、樹狀關係)
    • 補充:top(快速找 process)

    2. I/O 讀寫異常、延遲變高

    • 首選:dstat(I/O 變化曲線最完整)
    • 補充:nmon(Disk 分析更深入)

    3. Network 流量突增

    • 首選:dstat
    • 補充:Glances(可同時看多指標)

    4. 高負載(Load Average 過高)

    • 首選:Glances(一次看 CPU、IO、Memory、Wait)

    5. 長時間效能記錄 & 報表輸出

    • 首選:nmon(含分析工具)
    • 補充:Glances(可匯出 InfluxDB / CSV)

    6. Docker / 容器環境監控

    • 首選:Glances(原生支援 Docker 資源監控)

    八、五大工具總結:如何挑選?

    一句話總結:

    • top:最基本,每台都有、最安全
    • htop:最好用的日常監控工具
    • Glances:最全能的效能儀表板
    • nmon:最適合效能瓶頸深度調查
    • dstat:最適合 I/O & Network 時序分析

    建議默默安裝全部,視情境使用不同工具,維運體驗會提升非常多。

    🧭 行動清單(可直接照做)

    sudo apt install htop glances nmon dstat
    htop                 # 日常用
    glances             # 全方位監控
    dstat -cdngy        # I/O + Network 分析
    nmon -f -s 10 -c 360 # 長時間效能記錄
    

    🔗 延伸閱讀

    — WWFandy・Linux 效能觀察筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級