网上有很多适用于Linux操作系统的开源网络监视工具。比如说:
你可以用命令iftop来检查带宽使用情况、netstat用来查看接口统计报告、还有其他的一些工具Bandwidthd、Speedometer、Nethogs、Darkstat、jnettop、ifstat、iptraf、nload和ntop等。
但是这些工具都是统计网卡的进出数据,如果你想要找一个像windows上360安全卫士那样,能够按进程实时统计每个程序网络带宽利用率,那么NetHogs就是你所需要的唯一工具。
top可以查看进程占用的cpu、内存等信息,可以随时监测占用最大cpu和内存的进程是哪个。Nethogs可以说是网络带宽top,他可以查看进程占用的带宽信息,和top一样,随时刷新。
Nethogs是一个终端下的网络流量监控工具,它有别于其他统计和监控网卡流量工具,特别之处在于可以监控每个进程的网络带宽占用情况,这样可以更直观获取网络使用情况。它支持IPv4和IPv6协议、支持本地网卡及PPP链接。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况.这样就很容易找出哪个程序跑飞了然后突然占用你的带宽.
一、下载安装
wget http://jaist.dl.sourceforge.net/project/nethogs/nethogs/0.8/nethogs-0.8.0.tar.gz -P /usr/local/src
yum install -y gcc gcc-c++ libpcap libpcap-devel
cd /usr/local/src
tar xf nethogs-0.8.0.tar.gz
cd nethogs
make && make install
二、NetHogs用法
nethogs [option] [device(s)]
该程序需要 root 权限,默认是监控 eth0 网卡 ,所以直接输入 sudo nethogs 也可以,如果有多网卡的话就必须进行指定。
正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序。
三、NetHogs 命令行参数
以下就是NetHogs命令行的参数,用’-d’来添加刷新频率参数,`device name` 用来检测给定的某个或者某些设备的带宽(默认是eth0).例如:设置5秒钟的刷新频率,键入如下命令即可:
# nethogs -d 5
如果只用来监视设备(eth0)的网络带宽可以使用如下命令:
# nethogs eth0
如果要同时监视eth0和eth1接口,使用以下命令即可:
# nethogs eth0 eth1
其他参数和用法:
-d: delay for refresh rate,default is 1.
-h: display available commands usage.
-p: sniff in promiscious mode (not recommended).
-t: tracemode.
-b: bughunt mode - implies tracemode.
-V: prints Version info.
NetHogs 交互控制
以下是NetHogs的一些很有用的交互控制(键盘快捷键):
m cycle between display modes (kb/s, kb, b, mb)
r sort by ‘received’
s sort by ‘sent’
q quit
本文出自 “VFAST_GongYijie” 博客,请务必保留此出处http://952259538.blog.51cto.com/6841773/1445107
原文地址:http://952259538.blog.51cto.com/6841773/1445107