nload 對比 bmon 對比 vnstat:頻寬監控工具比較
11 分鐘閱讀 - 2026年6月15日

針對 Linux 頻寬監控,比較 nload、bmon 和 vnstat。說明何時使用各工具、它們的不足之處,以及如何將它們結合以實現全面監控。
nload:即時吞吐量一覽
nload 是一款終端工具,透過 ASCII 圖表即時顯示單一介面的傳輸量,分別顯示進站與出站流量。它直接讀取 /proc/net/dev ,因此無需 root 權限即可運行,且 CPU 佔用率極低。
請使用介面名稱啟動它:
nload eth0實用參數:
-u M將顯示單位切換為 MB/s(預設為每秒位元)-m在單一畫面顯示多個介面,不顯示圖表-t 1000設定更新間隔(單位為毫秒)
按下 F2 in-session 即可調整刷新率與圖表縮放比例,無需重新啟動。
螢幕上顯示的內容:當前速率、平均值、最小值、最大值,以及該會話期間的總傳輸量。這些資訊足以確認伺服器是否如預期般傳輸流量,或察覺突發的流量激增。無法獲得的內容:各進程的歸因、各連線的細項分析,或任何歷史資料。關閉終端機後,會話統計資料即會消失。
當您想在五秒內回答「這台伺服器目前是否已將連線頻寬用盡?」時,請使用 nload。
bmon:監控多個介面
bmon 採用了不同的方法。它並非詳細顯示單一介面,而是同時顯示主機上的所有介面。頂部窗格列出每個介面及其當前的接收 (RX) 和傳送 (TX) 速率。底部窗格則針對您所選的介面繪製圖表。使用方向鍵可在各介面之間切換。
這正是您在虛擬化主機、路由器、配備多張網卡的專用伺服器,或任何運行 Docker 的環境中所需的工具——在這些環境中,介面清單往往多達數十個。若使用 nload 逐一輪流監控,將會十分繁瑣。
按下 d 在執行期間按下此鍵,即可切換至詳細統計視圖,該視圖會新增封包計數、錯誤率、丟失封包及碰撞等數據。這些資料對於診斷鏈路波動、MTU 不匹配,或是未表現為吞吐量問題的網卡驅動程式問題至關重要。
使用 -p 來篩選介面清單,以減少視覺雜亂:
bmon -p "eth*,ens*"bmon 亦可透過 -o 以 JSON、XML、ASCII 或 HTML 格式匯出結構化資料,這對於腳本快照或饋送至其他工具非常方便:
bmon -o ascii -p eth0 > /tmp/eth0-stats.txt不過與 nload 相同:沒有永久歷史記錄。關閉後資料即消失。
vnstat:長期使用情況追蹤
vnstat 填補了其他兩者留下的空白。它作為背景守護程序運行(vnstatd),並將流量計數器寫入位於 /var/lib/vnstat/。該資料庫能於系統重啟後存續,並保留 5 分鐘樣本 48 小時、每小時資料 4 天、每日總計 2 個月,以及無限期的每月與每年摘要。
請在第一天就啟用它:
systemctl enable --now vnstat關鍵要點:vnstat 僅從守護程序啟動時起計數流量。它無法追溯測量安裝前的使用情況。在新伺服器上,請於配置階段安裝,否則在需要時將無法取得任何資料。
標準查詢:
vnstat # summary
vnstat -d # daily breakdown
vnstat -m # monthly totals
vnstat -h # last 24 hours, hourly
vnstat -t # top days
vnstat --json # JSON export
vnstat -i eth0 # specific interfacevnstat 是解答「上個月傳輸了多少流量?」、「是否符合每月流量上限?」以及「長期趨勢如何?」等問題的理想工具。 --alert 標誌可讓您設定與自訂計費週期綁定的閾值,當您的服務供應商所採用的月份與日曆月份不一致時,此功能便十分實用。
若需在狀態頁面或報告中呈現圖表,請搭配 vnstati 以產生 PNG 圖檔,若您需要在狀態頁面或報告中顯示圖表:
vnstati -s -i eth0 -o /var/www/html/traffic.pngvnstat 較不擅長處理:即時診斷。雖然 -l 雖然有即時模式,但它僅是計數器,沒有圖表,也沒有按介面細分的資料。若需進行事件應變,您仍需在另一個分頁中開啟 nload 或 bmon。
快速比較
| 功能 | nload | bmon | vnstat |
|---|---|---|---|
| 重點 | 即時吞吐量 | 多介面即時統計 | 歷史使用量 |
| 視覺化 | 雙 ASCII 圖表 | 介面清單 + 圖表 | 表格、透過 vnstati 產生的 PNG 圖檔 |
| 持久化資料 | 無 | 否 | 是 |
| 匯出格式 | 無 | JSON、XML、ASCII、HTML | JSON、XML、CSV |
| 按程序歸因 | 無 | 否 | 否 |
| 以守護程序模式運行 | 否 | 否 | 是 |
| 需要 root 權限 | 否 | 否 | 否 |
| 最適合 | 快速檢查 | 具備多個網路介面卡的主機 | 容量規劃、計費 |
這些工具都無法告訴您是哪個程序或連線導致流量。若要了解這點, iftop (按連線) 和 nethogs (按進程) 才是正確的工具,且它們與上述所有工具搭配使用效果極佳。
何時使用哪種工具
對於具有每月流量上限的單介面 VPS,請在啟用首日安裝 vnstat,並在需要快速檢查時使用 nload。這可涵蓋 95% 的情況。
若為專用伺服器、虛擬化主機或任何運行容器的環境,請將 nload 替換為 bmon。當您擁有超過三、四個網路介面卡(NIC)和橋接器時,多介面檢視功能能有效節省時間。
若需針對整個機群進行容量規劃,vnstat 的 JSON 匯出功能可完美整合至 Prometheus、Grafana 或您現有的任何指標監控系統。設定一次後便無需再管,直到您需要每月報告時再處理即可。
當流量異常且需要找出來源時,上述三者皆無法提供答案。此時 iftop (按頻寬排序的前幾名連線) 和 nethogs (前幾大進程) 便展現其價值。
這三款工具皆讀取核心計數器而非擷取封包,因此即使在飽和的 10Gbps 鏈路上,其開銷也微乎其微。沒有理由不將這三者全都安裝上。
總結
nload、bmon 和 vnstat 各自針對不同的問題:某個介面當下的狀況、多個介面的整體狀況,以及歷史流量趨勢。針對每種需求各選用一個工具,您就能透過約五分鐘的設定,建立一套不增加可測量負載的頻寬監控方案。
若您的工作負載產生穩定流量,且希望不再擔心超額帳單,無流量限制的 VPS 可提供固定費率的埠與可預測的成本,這將使 vnstat 的歷史數據成為規劃工具,而非計費警報。

Linux 伺服器工作負載最佳化的調校設定檔
如何為 GPU、資料庫和高頻寬 Linux 伺服器選擇、應用和客製化已調整的配置文件,並提供範例和 Ansible 部署技巧。
16 分鐘閱讀 - 2026年6月9日
Linux OOM Killer Tuning for VPS:實用指南
12 分鐘閱讀 - 2026年6月8日