Linux服务器网卡流量查看方法 shell和Python各一枚
时间:2022-05-27 00:17:40|栏目:Linux|点击: 次
有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡)。
脚本中都用了while true“死循环”,每隔10s从“/proc/net/dev”中取一次值并根据10s内的差值计算10s内的平均带宽;按ctrl+c停止执行。脚本兼容centos6和7
两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了。
直接上图上脚本:
shell版–使用截图:
shell版代码:
#!/bin/sh
#by ljk 20160526
if [ "$1" = "" ];then #判断后面是否有跟参数
echo -e "n use interface_name after the script,like "script eth0"...n"
exit -1
fi
echo -e "n start monitoring the $1,press "ctrl+c" to stop"
echo ----------------------------------------------------------
file=/proc/net/dev #内核网卡信息文件
while true
do
RX_bytes=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'` #这里sed这一步为了同时兼容centos6和7
TX_bytes=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'`
sleep 10
RX_bytes_later=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'`
TX_bytes_later=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'`
#B*8/1024/1024=Mb
speed_RX=`echo "scale=2;($RX_bytes_later - $RX_bytes)*8/1024/1024/10"|bc`
speed_TX=`echo "scale=2;($TX_bytes_later - $TX_bytes)*8/1024/1024/10"|bc`
printf "%-3s %-3.1f %-10s %-4s %-3.1f %-4sn" IN: $speed_RX Mb/s OUT: $speed_TX Mb/s
done
您可能感兴趣的文章
- 10-28Linux线程之线程的创建、属性、回收、退出、取消方式
- 10-28Linux下进程的CPU配置与线程绑定过程
- 10-28Linux进程CPU绑定优化与实践过程
- 10-28linux服务器查看进程、线程数量方式
- 10-28Linux下如何清理系统缓存并释放内存
- 10-28Linux如何解决kill进程失败问题
- 10-28CentOS系统下前后端项目部署的操作指南
- 10-28Linux gdb多进程、多线程调试过程
- 10-28Apache HTTP Server 从安装到配置过程详解
- 10-28Ubuntu 24.04启用root图形登录的操作流程


阅读排行
推荐教程
- 05-27Linux NFS服务器安装与配置思路分析
- 05-27阿里云linux服务器安全设置(防火墙策略等)
- 05-27Linux命令学习总结之rmdir命令
- 10-12Linux系统 Centos7.4手动在线升级到Centos7.7
- 05-27SecureCRT中文显示乱码问题的解决方法
- 11-07Linux搭建DHCP服务器的详细过程
- 05-10Ubuntu系统安装ANSYS2021R1
- 06-12linux系统SSL证书部署https单/多站点
- 05-10ANSYS2021R1安装方法Linux centos Ubuntu系统
- 05-27apache密码生成工具htpasswd使用详解


