本文介绍了一些可以用来监控网络使用情况的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

linux 磁盘 io 网络带宽 监控部署 linux带宽命令_Ubuntu

nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。

所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。

1.$ nload

安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。

2.# fedora或centos

3.$ yum install nload -y

4.# ubuntu/debian

$ sudo apt-get install nload

2. iftop

iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。

虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。

1.$ sudo iftop -n

n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。

linux 磁盘 io 网络带宽 监控部署 linux带宽命令_centos_02

安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。

1.# fedora或centos

2.yum install iftop -y

3.# ubuntu或 debian

4.$ sudo apt-get install iftop

3. iptraf

iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。下面是屏幕截图。

linux 磁盘 io 网络带宽 监控部署 linux带宽命令_linux上网络带宽监控命令_03

1.$ sudo iptraf

安装iptraf:

1.# Centos(基本软件库)

2.$ yum install iptraf

3.# fedora或centos(带epel)

4.$ yum install iptraf-ng -y

5.# ubuntu或debian

6.$ sudo apt-get install iptraf iptraf-ng

4. nethogs

nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。

1.$ sudo nethogs

linux 磁盘 io 网络带宽 监控部署 linux带宽命令_ubuntu_04

安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。

1.# ubuntu或debian(默认软件库)

2.$ sudo apt-get install nethogs

3.# fedora或centos(来自epel)

4.$ sudo yum install nethogs -y

5. bmon

bmon(带宽监控器)是一款类似nload的工具,它可以显示系统上所有网络接口的流量负载。输出结果还含有图表和剖面,附有数据包层面的详细信息。

linux 磁盘 io 网络带宽 监控部署 linux带宽命令_Ubuntu_05