_详解Linux工具--nethogs按进程监控网络带宽,值得收藏

概述

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

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

简单地说,可以通过nethogs查看linux下进程的流量。

a54927b8ebcf4af5dc0df5df7ac8af18.png

安装部署

1、 编译安装nethogs依赖包,centos默认rpm仓没有nethogs的包,所以需要我们手动编译。nethogs编译依赖2个库,在编译前需要安装下

# yum install libpcap libpcap-devel gcc* ncurses* 
1529c0b7fbba78695f00143134dd707b.png

2、下载nethogs

因为0.8存在bug(creating socket failed while establishing local IP - are you root?),所以这里就用0.81版本了

# wget -c https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz
1d33737c5e830504f5a951ba97959b42.png

3、编译安装

# tar -xvf v0.8.1.tar.gz# cd nethogs-0.8.1/# make && make install
242ea25e4ee0b9d65d6defd2c84ceb95.png

#默认安装好后的路径是/usr/local/sbin/nethogs

4、测试运行:

# nethogs
3e1d31afc48e2b7784372c687ab3d573.png

用法

1、命令行参数

2880d1b98220758850dcb827d8782231.png

2、实例:

实例1:设置5秒钟刷新一次,通过-d来指定刷新频率# nethogs -d 5实例2:监视eth0网络带宽# nethogs eth0实例3:同时监视eth0和eth1接口# nethogs eth0 eth1
fddb64a19d99aa7c9afb5189d3498043.png

3、交互命令:

以下是NetHogs的一些交互命令(键盘快捷键)

m : 修改单位

r : 按流量排序

s : 按发送流量排序

q : 退出命令提示符

关于NetHogs命令行工具的完整参数列表,可以参考NetHogs的手册,使用方法是在终端里输入man nethogs。


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下!

bc3b309cc7d0ba001a006a698cc3b159.png
TestBandwitdth脚本用于测试带宽; //***************************************************************************************** 用法: 1.将“TestBandwidth.tar.gz”脚本copy到服务器上解压后,进入目录; 2.编辑“TestURL.sh”:灌流量; 上行:wget http://*** 下行:post http://*** 3.如果修改了步骤2,执行此步,否则跳过: 修改 TestBandwidth.tar.gz 脚本中的倒数5-6行; kill -9 `ps -ef|grep wget|grep http|awk '{print $2}'` //修改kill关键字:grep wget rm zhuxian* //修改rm关键字:zhuxian* 4.修改“bandwidth.sh”:修改检测网卡: netcard=em1 5.使用后台运行命令执行:nohup ./bandwidth.sh (注:停止脚本 pkill -9 bandwidth.sh && pkill -9 wget) 6.查看结果:BandwitdthResult.txt //********************************************************* 测试流量:清空“TestURL.sh”文件时执行就是测试流量 //***************************************************************************************** 脚本说明: 1.调用TestURL.sh脚本启动灌流量操作; 2.等待10s(防止刚开始下载时的流量冲高); 3.取当前网卡已接收的上行、下行数据流量; 4.等待5s; 5.取当前网卡已接收的上行、下行数据流量; 6.计算两次取值中间的差值,算平均值; 7.等待10s,开始下一次小循环(循环4次)(一次小循环70s); 8.清除下载进程,清除下载文件,清除下载日志; 9.等待3495s,开始下一次大循环(一次大循环1h);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值