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

NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。

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

本文为你介绍如何在Linux/Centos操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

可以使用yum安装命令如下:

nethogs属于epel里面软件包,如果本机没有安装epel需要先安装epel,命令如下

#rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

#yum -y install libpcap nethogs

如下图所示 已经安装完成
Linux/Centos nethogs 按进程监控网络带宽
命令用法:直接在命令行终端输入nethogs 默认监听eth0网卡的信息 而且是每秒刷新一次 如下图
Linux/Centos nethogs 按进程监控网络带宽_第1张图片
#nethogs eth0 -d 5 //这个命令意思是监控网卡eth0的带宽占用情况,每五秒刷新一次
如果要同时监视eth0和eth1接口,使用以下命令即可:

#nethogs eth0 eth1

如果是连接了***的话可以 eth0换成***那块网卡设备就可以

我们用xftp传输一个镜像,看一下带宽的占用情况 如下图:
Linux/Centos nethogs 按进程监控网络带宽_第2张图片
Linux/Centos nethogs 按进程监控网络带宽_第3张图片
可以明显看出来 sshd这个进程占用了带宽,如果服务器上有不明进程占用带宽的话,这个工具可以检测的出来,帮助解决问题

nethogs其他参数和用法

-d : 刷新间隔
-h : 帮助
-p : promiscious 模式
-t : trace模式
-V : 版本
交互命令
以下是NetHogs的一些交互命令(键盘快捷键)

m : 修改单位
r : 按流量排序
s : 按发送流量排序
q : 退出命令提示符

如果对此有兴趣,请扫下面二维码免费获取更多详情
Linux/Centos nethogs 按进程监控网络带宽_第4张图片