本文介绍一些可以用来监控网络使用情况的Linux命令行工具。一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发现过度使用网络带宽的某个进程。
这些工具使用不同的机制来制作流量报告。nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。
1. nload
Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。
$ yum install -y nload
[图片上传中...(image.png-1e925a-1602137668293-0)]
image.png
2. iftop
iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量。
Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。
yum install iftop -y
image.png
交互式界面按h可以查看使用参数。
image.png
iptraf-ng
iptraf是一款图形交互式监控工具。它可以显示每个连接以及主机之间传输的数据量。
image.png
安装iptraf:
$ yum install iptraf-ng -y
nethogs
nethogs可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号。
image.png
安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。
# fedora或centos(来自epel)
$ sudo yum install nethogs -y