linux系统带宽监测脚本

服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需安装的带宽查看脚本,可以查询linux服务器当前带宽使用量,有需要的朋友可以试试 
 
快速使用方法 
 
1、下载脚本 
ssh登录服务器后输入: 
 
英文版: 
wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/vmnetcheck.sh 
 
中文版: 
gbk版本(默认使用这个就行): 
wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/vmnetcheckgbk.sh 
utf8版本(如果乱码使用这个版本):  
wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/vmnetcheckutf8.sh 
 
 
2、增加权限 
chmod +x vmnetcheck.sh 
 
如果下载的是中文版则执行: 
chmod +x vmnetcheckgbk.sh 
chmod +x vmnetcheckutf8.sh 
 
3、执行脚本 
./vmnetcheck.sh  
 
如果下载的是中文版则执行: 
./vmnetcheckgbk.sh  
./vmnetcheckutf8.sh 
 
 
脚本详细使用方法: 
例:./vmnetcheck.sh [eth0|eth1] 
参数说明: 
不写参数时,默认检查外网网卡eth1 
eth0  :检查内网网卡 
eth1  :检查外网网卡 
其他: 
脚本需要按q键退出,无法使用ctrl+c停止 
 
例: 
以下例子,在本地电脑进行了一个web下载后,可以发现测试机的出带宽达到2.23Mb,测试机是2M的带宽,说明已经满了,这时能看到出队列的值比较高是一个nginx进程,说明该进程可能是导致带宽满的原因,可以根据此信息定位问题。 
 
 
 
 
2014年11月24日增加英文版 
 
英文版例: 
 
 
 
 
这里说明进程PID为10042的nginx进程占用了较高的带宽,已经跑到1.07Mb 
 
 
 
 
第一行: 
Private IP:    内网IP 
Public IP:    公网IP 
ICMP:如果禁ping会显示,没有禁用不会显示 
 
第二行: 
SSH Port:显示当前ssh端口 
SSH root Login:显示当前是否允许root登陆 
SSH Password Authentication:显示当前是否允许密码验证 
 
第三行: 
Press q to exit  :脚本必须要按q键才能推出,ctrl+c不行 
 
第四行: 
interface:显示当前网卡,阿里云ECS eth0是内网 eth1是公网 
InBand: 入网带宽,单位是千字节每秒,括号里单位是兆比特每秒,阿里云ECS默认入网带宽不限速 
OutBand:出网带宽,单位是千字节每秒,括号里单位是兆比特每秒,购买几兆带宽,就能跑几兆 
 
第五行及之后行: 
Recv-Q:入网队列(收到数据包的队列),如果从服务器内部下载文件,这个会比较高。 
Send-Q:出网队列(发送数据包的队列),这个数值越大,这一行进程占用的带宽越多,如果出带宽满了,主要看这里 
Local:服务器本地IP及端口 
Foreign:外部访问者的IP及端口,如果某IP下载很多高,可以排查下这个访问者 
PID/Name:进程PID和进程名字 

转载于:https://www.cnblogs.com/chenshoubiao/p/4780932.html

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、付费专栏及课程。

余额充值