NetHogs是一个小的开源的流量监控工具。用来按进程或程序实时统计网络带宽使用率。而NetHogs的特点在于可以实时的监控每个进程的带宽占用情况,当我们的服务器的带宽大量占用或者其它的一些网络异常,我们可以通过NetHogs来查看是哪个进程或程序异常导致带宽被占用,从而解决带宽问题。
NetHogs
安装
Debian/Ubuntu下安装很简单,
执行:apt-get install nethogs 就可以安装。
CentOS/RHEL下建议先安装上EPEL,
yum -y install epel-release
再执行:yum install libpcap nethogs 进行安装。
运行主要界面如图
直接使用NetHogs(默认检测设备eth0的带宽,并且默认是每秒刷新一次)
NetHogs
使用-d参数设置5秒刷新一次
# nethogs -d 5
指定监控的网卡设备的带宽
# nethogs eth1
# nethogs eth0 eth1
如上图,PID一列就是进程的PID,PROGRAM就是显示进程或连接双方的端口号,前面红框连接VPS人的IP:端口,后面红框是当前VPS上的IP:端口,
如果不知道端口对应的进程可以通过lsof来进行查看。
DEV列显示设备名,SEND列相当于服务器上往外流出占用的带宽,RECEIVED相当于下载网络资源占用的带宽。
二、具体使用如图:
usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
-V : prints version. //打印版本信息
-h : prints this help. //帮助信息
-b : bughunt mode - implies tracemode. //跟踪模式
-d : delay for update refresh rate in seconds. default is 1. //延迟刷新时间,单位秒,默认1秒
-v : view mode (0 = KB/s, 1 = total KB, 2 = total B, 3 = total MB). default is 0. //查看模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。
-c : number of updates. default is 0 (unlimited). //更新次数。 默认值为0(无限制)。
-t : tracemode. //跟踪模式。
-p : sniff in promiscious mode (not recommended). //在混杂模式下嗅探(不建议)。
-s : sort output by sent column. //按发送列对输出进行排序。
-a : monitor all devices, even loopback/stopped ones. //监视所有设备,甚至包括环回/停止的设备。
device : device(s) to monitor. default is all interfaces up and running excluding loopback // 要监视的设备。 默认是所有接口都已启动并正在运行,不包括环回
When nethogs is running, press: //运行nethogs时,请按:
q: quit //退出
s: sort by SENT traffic //按发送流量排序
r: sort by RECEIVE traffic //按接收流量排序
m: switch between total (KB, B, MB) and KB/s mode //在总计(KB,B,MB)和KB/s模式之间切换
具体使用示例:
直接使用NetHogs(默认检测设备eth0的带宽,并且默认是每秒刷新一次)
Nload
2.1 nload介绍
nload是一个实时监控网络流量和带宽使用情况,展示进出的流量情况,不仅有数值,也可以有动态图展示。
2.2 nload安装 (centos)
[root@rs-server ~]# yum -y install epel-release
2.3 nload安装
Debian/Ubuntu下安装,
执行:apt-get install nethogs 就可以安装。
CentOS/RHEL下建议先安装上EPEL,
yum -y install epel-release
nload安装
[root@rs-server ~]# yum install nload -y
nload默认的是eth0网卡,默认只查看第一个网络的流量进出情况,一般是在nload后面指定网络,可以指定多个网络。如果你想监测eth1网卡的流量
#nload eth1
2.3 nload运行
# nload
2.3 nload操作介绍
nload 默认分为上下两块:
- 上半部分是:Incoming也就是进入网卡的流量,
- 下半部分是:Outgoing,也就是从这块网卡出去的流量,
每部分都有当前流量(Curr),
平均流量(Avg),
最小流量(Min),
最大流量(Max),
总和流量(Ttl)这几个部分,
参数介绍
- -a:全部数据的刷新时间周期,单位是秒,默认是300.
- -i:进入网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
- -m:不显示流量图,只显示统计数据。
- -o:出去网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
- -t:显示数据的刷新时间间隔,单位是毫秒,默认500。
- -u:设置右边Curr、Avg、Min、Max的数据单位,默认是自动变的.注意大小写单位不同!
- -U:设置右边Ttl的数据单位,默认是自动变的.注意大小写单位不同(与-u相同)!
- Devices:自定义监控的网卡,默认是全部监控的,使用左右键切换。
界面操作
- 上下方向键、左右方向键、enter键或者tab键都就可以切换查看多个网卡的流量情况
- 按 F2 显示选项窗口。
- 按 F5 将当前设置保存到用户配置文件。
- 按 F6 从配置文件重新加载设置。
- 按 q 或者 Ctrl+C 退出 nload。