nethogs命令详解

说明:
有很多适用于Linux系统的开源网络监视工具.比如说,你可以用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程.但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。

NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组.NetHogs不需要依赖载入某个特殊的内核模块. 如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况.这样就很容易找出哪个程序跑飞了然后突然占用你的带宽.

简单地说,可以通过nethogs查看linux下进程的流量。

安装:
1. 编译安装nethogs依赖包,centos默认rpm仓没有nethogs的包,所以需要我们手动编译。nethogs编译依赖2个库,在编译前需要安装下

# yum install libpcap  libpcap-devel

 
2.下载nethogs最新版,这个是截止到2015年9月23日能看到的最新包

# wget 'http://downloads.sourceforge.net/project/nethogs/nethogs/0.8/nethogs-0.8.0.tar.gz'
# tar -xzvf nethogs-0.8.0.tar.gz
# cd nethogs
# make && make install

#默认安装好后的路径是/usr/local/sbin/nethogs

运行:

# nethogs
NetHogs version 0.8.0

  PID USER     PROGRAM                                                                            DEV        SENT      RECEIVED       
3152  nobody   nginx: worker process                                                              eth0       0.786	 0.144 KB/sec
?     root     10.21.2.22:80-27.15.5.12:1233                                                           0.263	 0.106 KB/sec
?     root     10.21.2.22:80-27.15.5.12:1216                                                           0.176	 0.106 KB/sec
?     root     10.21.2.22:80-27.15.5.12:1153                                                           0.106	 0.079 KB/sec
?     root     10.21.2.22:43097-23.15.8.26:10050                                                     0.057	 0.059 KB/sec
?     root     10.21.2.22:43102-23.15.8.26:10050                                                     0.059	 0.059 KB/sec
?     root     10.21.2.22:43109-23.15.8.26:10050                                                     0.059	 0.059 KB/sec
?     root     10.21.2.22:60234-19.29.10.3:10050                                                         0.059	 0.058 KB/sec
?     root     10.21.2.22:60224-19.29.10.3:10050                                                         0.059	 0.058 KB/sec
?     root     10.21.2.22:60222-19.29.10.3:10050                                                         0.059	 0.058 KB/sec
?     root     10.21.2.22:60221-19.29.10.3:10050                                                         0.059	 0.058 KB/sec

 
命令行参数:

# nethogs --help
nethogs: invalid option -- '-'
usage: nethogs [-V] [-b] [-d seconds] [-t] [-p] [device [device [device ...]]]
		-V : prints version.
		-d : delay for update refresh rate in seconds. default is 1.
		-t : tracemode.
		-b : bughunt mode - implies tracemode.
		-p : sniff in promiscious mode (not recommended).
		device : device(s) to monitor. default is eth0

When nethogs is running, press:
 q: quit
 m: switch between total and kb/s mode

 
实例:
实例1:设置5秒钟刷新一次,通过-d来指定刷新频率

# nethogs -d 5

实例2:监视eth0网络带宽
# nethogs eth0

实例3:同时监视eth0和eth1接口
# nethogs eth0 eth1

 
交互命令:
以下是NetHogs的一些交互命令(键盘快捷键)
m : 修改单位
r : 按流量排序
s : 按发送流量排序
q : 退出命令提示符
关于NetHogs命令行工具的完整参数列表,可以参考NetHogs的手册,使用方法是在终端里输入man nethogs。更多信息请参考nethogs主页

发表评论

邮箱地址不会被公开。 必填项已用*标注