介紹如何在 Linux 系統中使用 NetHogs 指令工具,快速查看各行程目前所使用的網路頻寬。
NetHogs 是一個類似 top
的行程網路使用量監看工具,可以用來快速查看 Linux 系統上的網路頻寬正在被哪一些程式佔用。
在各種主要的 Linux 發行版套件庫中都有收錄 NetHogs,以下是各種 Linux 發行版的 NetHogs 套件安裝方式:
# 安裝 NetHogs(RedHat 系列 Linux) sudo yum install epel-release sudo yum install nethogs # 安裝 NetHogs(Fedora Linux) sudo dnf install nethogs # 安裝 NetHogs(Ubuntu/Debian Linux) sudo apt install nethogs
由於 NetHogs 工具需要從系統中取得各行程的網路使用資訊,所以需要以 root
管理者權限來執行:
# 執行 NetHogs
sudo nethogs
執行 NetHogs 之後,就會顯示目前正在使用網路資源的各個行程。
在 NetHogs 的畫面中各欄位的意義如下:
PID
:行程 ID。USER
:行程的擁有者。PROGRAM
:程式路徑。DEV
:網路介面。SENT
:目前傳送資料的速度。RECEIVED
:目前接收資料的速度。而在執行 NetHogs 時可以使用以下快速鍵來進行各種操作:
m
:切換頻寬單位,可用單位有 KB/s
、KB
、B
、MB
。r
:以資料接收速度排序。s
:以資料傳送速度排序。q
:離開 NetHogs。NetHogs 畫面資訊的更新頻率可以使用 -d
參數來指定:
# 每 5 秒更新一次資訊 sudo nethogs -d 5
若要指定監看的網路介面,可以直接在 nethogs
指令的參數中指定欲監看的網路介面名稱:
# 監看 eth0 網路介面
sudo nethogs eth0
亦可同時監看多個網路介面:
# 監看 eth0 與 eth1 網路介面
sudo nethogs eth0 eth1
若要觀察目前正在傳送(上傳)資料的行程,可以加上 -s
參數,以資料傳送速度來排序行程:
# 以資料傳送速度排序 sudo nethogs -s