首页 > 代码库 > 通过Nethogs查看服务器网卡流量情况

通过Nethogs查看服务器网卡流量情况

 


在日常运维工作中,会碰到服务器带宽飙升致使网站异常情况。作为运维人员,我们要能非常清楚地了解到服务器网卡的流量情况,观察到网卡的流量是由哪些程序在占用着。

今天介绍一款linux下查看服务器网卡流量占用情况的工具:Nethogs,来自github上的开源工具。
它不依赖内核中的模块。当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个程序占用了大量带宽。节省了查找时间。


Nethogs安装:

方法一:在epel源中可以直接yum安装
[root@dev src]# yum install -y libpcap nethogs -y

 

方法二:源码安装
#安装c++环境
[root@dev src]# yum install -y gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*
[root@dev src]# git clone https://github.com/raboof/nethogs
[root@dev src]# cd nethogs/
[root@dev src]# make
[root@dev src]# make install

#完成上面步骤就算安装完成了。如果编译失败的话,大部分是缺少编译环境。


接下来就可以测试了:

命令:“nethogs 网卡设备”
检测 em1网卡的流量占用情况(),运行一下命令

[root@dev src]# nethogs em1

技术分享

图中第一行就是em1网卡的流量记录,表示em1网卡带宽被mysql程序占用。
在PID那一列,可以使用 lsof -p pid 查看进程。
或者用“lsof -i:端口号”来查看是哪些进程在占用。
如查看mysql端口 lsof -i:3306

通过Nethogs查看服务器网卡流量情况