NetHogs:Linux下按進(jìn)程實(shí)時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)帶寬利用率
網(wǎng)上有很多適用于Linux操作系統(tǒng)的開(kāi)源網(wǎng)絡(luò)監(jiān)視工具。比如說(shuō):你可以用命令iftop來(lái)檢查帶寬使用情況、netstat用來(lái)查看接口統(tǒng)計(jì)報(bào)告、還有top監(jiān)控系統(tǒng)當(dāng)前運(yùn)行進(jìn)程。但是如果你想要找一個(gè)能夠按進(jìn)程實(shí)時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)帶寬利用率,那么NetHogs就是你所需要的***工具。
NetHogs – 網(wǎng)絡(luò)帶寬監(jiān)控
什么是NetHogs?
NetHogs 是一個(gè)開(kāi)源的命令行工具(類(lèi)似于Linux的top命令),用來(lái)按進(jìn)程或程序?qū)崟r(shí)統(tǒng)計(jì)網(wǎng)絡(luò)帶寬使用率。
來(lái)自NetHogs項(xiàng)目網(wǎng)站:
NetHogs是一個(gè)小型的’net top’工具,不像大多數(shù)工具那樣拖慢每個(gè)協(xié)議或者是每個(gè)子網(wǎng)的速度而是按照進(jìn)程進(jìn)行帶寬分組.NetHogs NetHogs不需要依賴(lài)載入某個(gè)特殊的內(nèi)核模塊. 如果發(fā)生了網(wǎng)絡(luò)阻塞你可以啟動(dòng)NetHogs立即看到哪個(gè)PID造成的這種狀況.這樣就很容易找出哪個(gè)程序跑飛了然后突然占用你的帶寬. |
這篇文章為你講解了如何在Unix/Linux操作系統(tǒng)下如何安裝和使用NetHogs按進(jìn)程監(jiān)控網(wǎng)絡(luò)帶寬使用率。
在RHEL,CentOS和Fedora下安裝NetHogs:
要安裝NetHogs,你必須要啟用你所用Linux下的EPEL源.然后運(yùn)行下面的yum命令下載安裝NetHogs包。
- # yum install nethogs
樣例輸出:
- [root@tecmint~]# yum -y install nethogs
- Loaded plugins:fastest mirror,refresh-packagekit
- Loading mirror speeds from cached hostfile
- *base: mirrors.hns.net.in
- *epel: mirror.nus.edu.sg
- *extras: mirrors.hns.net.in
- *rpmfusion-free-updates: mirrors.ustc.edu.cn
- *rpmfusion-nonfree-updates: mirror.de.leaseweb.net
- *updates: mirrors.hns.net.in
- Setting up Install Process
- Resolving Dependencies
- --> Running transaction check
- ---> Package nethogs.i6860:0.8.0-1.el6 will be installed
- --> Finished Dependency Resolution
- Dependencies Resolved
- ===========================================================================================================
- Package Arch Version Repository Size
- ===========================================================================================================
- Installing:
- nethogs i686 0.8.0-1.el6 epel 28k
- Transaction Summary
- ===========================================================================================================
- Install 1 Package(s)
- Total download size:28k
- Installed size:50k
- Downloading Packages:
- nethogs-0.8.0-1.el6.i686.rpm | 28kB 00:00
- Running rpm_check_debug
- Running Transaction Test
- Transaction Test Succeeded
- Running Transaction
- Installing :nethogs-0.8.0-1.el6.i686 1/1
- Verifying :nethogs-0.8.0-1.el6.i686 1/1
- Installed:
- nethogs.i6860:0.8.0-1.el6
- Complete!
在Ubuntu, Linux mint和Debian下安裝NetHogs:
鍵入apt-get命令安裝NetHogs包:
- $ sudo apt-get install nethogs
樣例輸出
- tecmint@tecmint:~$ sudo apt-get install nethogs
- [sudo]password fortecmint:
- Reading package lists...Done
- Building dependency tree
- Reading state information...Done
- The following NEW packages will be installed:
- nethogs
- 0 upgraded,1 newly installed,0 to remove and 318 not upgraded.
- Need to get 27.1kB of archives.
- After this operation,100kB of additional disk space will be used.
- Get: 1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe nethogs i386 0.8.0-1 [27.1 kB]
- Fetched 27.1kB in 1s (19.8kB/s)
- Selecting previously unselected package nethogs.
- (Reading database... 216058 files and directories currently installed.)
- Unpacking nethogs(from .../nethogs_0.8.0-1_i386.deb)...
- Processing triggers forman-db...
- Setting up nethogs(0.8.0-1)...
NetHogs用法
在基于RedHat系統(tǒng)下鍵入如下命令啟動(dòng)NetHogs工具。
- # nethogs
要執(zhí)行NetHogs你必須擁有root權(quán)限,即如圖所示用sudo命令:
- $ sudo nethogs
樣例預(yù)覽:
CentOS 6.3 下的NetHogs預(yù)覽
Ubuntu 12.10 下的NetHogs預(yù)覽
正如上圖所示,send列和received列顯示的是按照每個(gè)進(jìn)程的流量統(tǒng)計(jì)。總的收發(fā)數(shù)據(jù)帶寬在最下方,而且可以用交互命令控制排序,下面將要討論這些交互命令。
NetHogs 命令行參數(shù)
以下就是NetHogs命令行的參數(shù),用’-d’來(lái)添加刷新頻率參數(shù),`device name` 用來(lái)檢測(cè)給定的某個(gè)或者某些設(shè)備的帶寬(默認(rèn)是eth0).例如:設(shè)置5秒鐘的刷新頻率,鍵入如下命令即可:
- # nethogs -d 5
或
- $ sudo nethogs -d 5
如果只用來(lái)監(jiān)視設(shè)備(eth0)的網(wǎng)絡(luò)帶寬可以使用如下命令:
- # nethogs eth0
或
- $ sudo nethogs eth0
如果要同時(shí)監(jiān)視eth0和eth1接口,使用以下命令即可:
- # nethogs eth0 eth1
或
- $ sudo nethogs eth0 eth1
其他參數(shù)和用法:
- -d: delay for refresh rate.
- -h: display available commands usage.
- -p: sniff in promiscious mode (not recommended).
- -t: trace mode.
- -V: prints Version info.
NetHogs 交互控制
以下是NetHogs的一些很有用的交互控制(鍵盤(pán)快捷鍵:
- -m: Change the units displayed forthe bandwidth inunits like KB/sec->KB->B->MB.
- -r: Sort by magnitude of respectively traffic.
- -s: Sort by magnitude of sent traffic.
- -q: Hit quit tothe shell prompt.
想要NetHogs命令行工具的完整參數(shù)列表請(qǐng)參考NetHogs的手冊(cè),使用方法是在終端里輸入‘man nethogs‘ 或者 ‘sudo man nethogs‘,更多信息請(qǐng)參考NetHogs項(xiàng)目主頁(yè)。
原文鏈接: Ravi Saive 翻譯: 極客范 - LQ