服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件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和进程名字

linux系统带宽监测脚本的更多相关文章

  1. 红帽linux系统开机自启动脚本。

    其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...

  2. shell脚本 Linux系统安全监测

    一.简介 源码地址 日期:2018/4/12 介绍:监测当前Linux系统的安全配置,并给出建议 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无 下载 wget https://ra ...

  3. linux系统初始化——启动脚本是如何工作的

    启动脚本是如何工作的 Linux 使用的是基于 运行级(run-levels) 概念的称为 SysVinit 的专用启动工具.它在不同的系统上可能是完全不一样的,所以不能认为一个脚本在某个 Linux ...

  4. linux 系统性能指标采样脚本

    以下脚本写于redmine性能排查时,用于定位系统性能瓶颈的采样,源地址为~/performanceLog/collectLog.sh中,计划放入github的代码片段库中. 注: 如果mysql的地 ...

  5. 关于linux系统安全配置脚本

    本脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到Linux服务器上,执行sh ...

  6. linux系统执行mysql脚本:Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    问题原因:系统找不到临时文件夹下的.sock文件了 解决办法:看一下是不是其他目录下有mysl的.sock文件,使用命令指定到该文件 mysql --socket=/home/mysql/mysql- ...

  7. 监控linux系统的简易脚本

    我先把脚本粘贴在这吧,方便大家观看,其中也是借鉴了不少其他大神的东西,这个脚本主要是用来监控服务器.用户.日志,还得创建备份,等等等等.最近学的shell比较多,就用这个来练练手了,比较简单,大家凑合 ...

  8. Linux 系统监控shell脚本

    比较粗略的一个脚本:主要监控系统磁盘.CPU.内存.网络流量.tcp连接数等 代码如下: [root@test system_monitor_shell_script]# cat system_mon ...

  9. linux系统健康检查脚本

    #!/bin/bash echo "You are logged in as `whoami`"; if [ `whoami` != root ]; then echo " ...

随机推荐

  1. 关于Mongodb RC的思考

    Mongodb Oplog 和 Journal log 的关系与执行顺序 就关系来说,op log实际上与数据是一致的概念. 但在有 RC的时候,执行顺序 w  j 的设置 如果不设置 j ,则默认是 ...

  2. HTTP 请求方法介绍

    浏览器从 web 服务器(或者叫应用服务器)上使用 HTTP 协议下载网站,HTTP 协议是基于一种 请求-响应(request-response)模型的.客户端(你的浏览器)从运行在物理机器上的 w ...

  3. 【转】IOS基础:深入理解Objective-c中@class的含义

    objective-c中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时, 如下面代码: A.h文件 #import "B.h" @interface A :  ...

  4. Zend Studio 12.5.1原版安装破解

    安装官方Zend Studio 12.5.1原版,关闭zend studio,然后将破解补丁com.zend.verifier_12.5.1.v20150514-2003.jar覆盖到 安装目录\pl ...

  5. kubernetes-配置管理(十一)

    Secret https://kubernetes.io/docs/concepts/configuration/secret/ Secret解决了密码.token.密钥等敏感数据的配置问题,而不需要 ...

  6. kubernetes-ingress(十)

    ingress https://kubernetes.io/docs/concepts/services-networking/ingress/ pod与ingress的关系 •通过label-sel ...

  7. 基础I/O

    基础IO: c库文件IO操作接口:(详细查看c语言中的文件操作函数总结:https://www.cnblogs.com/cuckoo-/p/10560640.html) fopen 打开文件 fclo ...

  8. Linux磁盘I/O性能监控——iostat

    iostat命令可以查看CPU利用率和磁盘性能相关数据,有时候我们会觉得系统响应慢,传数据很慢,这个慢可能是多方面原因导致的,如CPU利用率高.网络差.系统平均负载高甚至是磁盘已经损坏了.对此,系统性 ...

  9. POJ 2406 Power String

    算出next数组. 对于任何一个循环字串,len-next[len]必为最小循环节长度 若len%(len-next[len])==0 即为循环字串,n=len/(len-next[len]) 否则输 ...

  10. PAT 乙级 1044

    题目 题目地址:PAT 乙级 1044 思路 简单的进制转化问题,根据题意进行相应的进制转化即可,因为题目已经划定了数据的求解范围,甚至连进制转化中的循环都不需要,进行简单计算就可以得出结果: 但本题 ...