通过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

当一台服务器uptime命令查看负载很高的时候,可以通过:
top命令(按数字1可以查看到每颗CPU的使用情况;大写P降序查看CPU使用率,大写M降序查看内存使用率);
iostat命令(iostat 2 5,重点看下%idel剩余使用率)查看IO性能;
mpstat命令(mpstat 2 5,重点看下%idel剩余使用率)查看CPU性能;
htop命令(和top命令差不多,P、M分别表示降序查看CPU和内存使用率);
iftop命令(流量监控,可以看出哪些机器跟本机有连接);
还可以查看crontab有没有定时任务在消耗资源~~~
posted @ 2016-10-14 15:34  散尽浮华  阅读(2770)  评论(0编辑  收藏  举报