Linux实时监控网卡入流量和出流量(iftop、dstat、nethogs、nload) |
您所在的位置:网站首页 › 数据流量单位里哪个最大 › Linux实时监控网卡入流量和出流量(iftop、dstat、nethogs、nload) |
背景
相同配置和相同业务的4台cvm,今天准备下线,检查还有没有业务流量的时候,发现有两台流量不符合预期,就很奇怪,想知道流量是从哪里来的。记录下当时定位思路 先来了解下基本的概念 一、Mbps、kbps、bps、bit、b速度单位,bit 即比特,通常用 b(小写)表示,指一位二进制位; Mbps 即 Milionbit pro second(百万位每秒);Kbps 即 Kilobit pro second(千位每秒);bps 即 bit pro second(位每秒);单位换算: 1Milionbit=1000Kilobit=1000000bit 1Mbps=1000 000bps 这是通常用来衡量带宽的单位,指每秒钟传输的二进制位数; 二、MB、KB、B通常软件上显示的速度不是上述一中的带宽,而是指每秒种传输的字节数(Byte)通常用B(大写)表示; MB 即百万字节也称兆字节;KB 即千字节;B 即字节;单位换算: 1MB=1024KB=10241024B=10241024*8b 1B=8b; 与带宽的换算: 1M带宽即指 1Mbps=1000Kbps=1000/8KBps=125KBps; 因此1M的带宽下载的速度一般不会超过125KB每秒。 2M、3M带宽分别是250KBps、375KBps; 2M、3M带宽的下载速度分别不会超过250KB、375KB每秒。 PS: 1Mbps与 1m/s 是有区别的,1Mbps指的是1000/8KB/S也就是125KB/S,而 1m/s 指的是是1024KB/S。 记住 K 和 k 是没区别的 ,区别在于 bps 属于位每秒的单位,而m/s,KB/S 这两个属于字节每秒的单位,一字节等于8位,即1B=8b 好了,进入正题 1、首先我们先使用neatest 查看监听了哪些进程,由于是生产环境,这里就不截图展示了 netstat -anltp执行后发现连接数很少,基本上可以确认应该没啥业务流量了,但是为了保险起见,我们应该对业务监听的端口进行抓包看看(这里以nginx为例) tcpdump -iany dst port '80 or 443' and dst host '输入自己的ip' -nnv这里没有输出,证明我们猜想是正确的,确实没有业务流量了 2、使用dstat命令实时查看网卡流量 dstat -tnf 10PS:dstat命令默认显示的是速度单位,而不是存储单位。例如,dstat -tnf命令的输出中,k和b单位分别表示千字节和字节的速度,而不是存储容量。从下面这张图仔细的小伙伴肯定有疑问,为什么这里的send平均在1500k怎么和上面第二张图的10M不相等呢? 从这里看到确实流量有这么高,进一步查看 3、使用iftop命令iftop是一个实时流量监控工具,可以用来监控网络接口的流量。要监控某个进程的流量,你可以使用以下命令: sudo iftop -i eth0 -f "src port or dst port "但是这里我们并不知道端口,所以执行 iftop -i eth1
扩展 使用nload命令也可以实时监控入流量和出流量 使用lsof -i:port 根据端口查询进程 nload eth1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |