实用nethogs工具查看各个进程的流量情况
NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。
NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽
安装
[root@localhost ~]# yum -y install epel-release;yum -y install nethogs
##简单使用
可以直接执行nethogs命令来简单使用
NetHogs version 0.8.5
PID USER PROGRAM DEV SENT RECEIVED
1522 root /usr/bin/python ens33 1.130 0.773 KB/sec
? root ..2.168.229.128:38312-114 0.046 0.035 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
TOTAL 1.176 0.809 KB/sec
PID
:进程IDUSER
:用户PROGRAM
:程序DEV
:网卡SENT
:发送流量RECEIVED
:接受流量
nethogs语法
功能说明
语法
nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
选项及参数
-V
: 显示版本信息,注意是大写字母V.-v
:切换显示单位,默认是默认是KB/s(0表示 KB/s,1表示KB,2表示B,3表示MB)-c
:检测次数(后面直接跟数字)-a
:检测所有的设备-d
: 延迟更新刷新速率,以秒为单位。默认值为 1.-t
: 跟踪模式.-b
: bug 狩猎模式 — — 意味着跟踪模式.-p
: 混合模式(不推荐).device
: 要监视的设备名称. 默认为 eth0
nethogs交互命令
m
: 修改单位r
: 按流量排序s
: 按发送流量排序q
: 退出命令提示符
nethogs实例
5秒刷新一次数据
[root@localhost ~]# nethogs -d 5
监控指定网卡数据
[root@localhost ~]# eth0nethogs eth0
同时监视eth0和eth1接口
[root@localhost ~]# nethogs eth0 eth1
将监控日志写入日志文件
[root@localhost ~]# nethogs >>test.log