本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。
一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发现过度使用网络带宽的某个进程。
这些工具使用不同的机制来制作流量报告。nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。
下面是按功能划分的命令名称。
- 监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
- 监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
- 每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
- 每个进程的带宽使用――nethogs
1. nload
nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。
按回车或左右方向键切换网卡。
所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。
Device eth1 [ssf] (2/3):
============================================================================================================
Incoming:
Curr: 1.05 MBit/s
.| . . .. . . .. .. .. Avg: 1.43 MBit/s
.. ....| ##... .||####|### #|#####|##|######| ##|############|## Min: 62.39 kBit/s
|##########..##################|###################.###################| Max: 2.56 MBit/s
######################################################################## Ttl: 127.19 GByte
Outgoing:
Curr: 554.77 kBit/s
Avg: 935.93 kBit/s
. . Min: 24.39 kBit/s
.... .||.| ##......|||###|### .#|###|#|##|#|#|##| ##|||##|#|##|#|||. Max: 1.38 MBit/s
############|######################################|#################### Ttl: 7.56 GByte
服务器的带宽如果按使用流量计费: 流入云服务器的流量是免费的,例如 通过云服务器从互联网上下载文件, 不会收取任何费用,只有 服务器向互联网流出的流量才会产生费用。
ifstat:
eth0 eth1
KB/s in KB/s out KB/s in KB/s out
0.08 0.00 90.68 86.11.
0.16 0.00 85.86 95.56
0.20 0.00 70.43 81.21
0.08 0.00 77.84 69.94
0.04 0.00 76.87 84.39
0.15 0.00 80.45 88.71
如果有多网卡,就会有多列