1. 介绍

监控磁盘IO,大家可能都比较熟悉iostat。还不熟悉的可以参考别人的博客Linux IO实时监控iostat命令详解

今天要推荐的是监控网络流量的工具nload。很多时候借助这样的工具能够让我们发现那些由于网络IO造成的性能瓶颈。

当然还有其他工具 vnstat或者iftop这里不作为讨论的主题。

2. 安装

如果yum仓库有的话可以直接

yum install nload

如果没有的话可以自己从sourceforge的nload项目下下再

然后执行以下命令安装

# 安装依赖
yum install gcc gcc-c++ ncurses-devel
# 解压
tar zxvf nload-0.7.2.tar.gz
# 编译,注意用root权限
cd nload-0.7.2
./configure
make 
make install

3. 使用技巧

首先看下帮助文档:

3.1 基本语法

nload
nload device
nload [options] device1 device2`

3.2 操控 nload 应用程序

nload 命令一旦执行就会开始监控网络设备,你可以使用下列快捷键操控 nload 应用程序。

  1. 你可以按键盘上的 ← → 或者 Enter/Tab 键在设备间切换。
  2. 按 F2 显示选项窗口。
  3. 按 F5 将当前设置保存到用户配置文件。
  4. 按 F6 从配置文件重新加载设置。
  5. 按 q 或者 Ctrl+C 退出 nload。

3.3 设置显示刷新间隔

默认每 100 毫秒刷新一次显示数值,下面的例子将时间间隔设置成 500 毫秒:

$ nload -t {interval_number_in_millisec}
$ nload -t 500

3.4 设置流量数值显示的单位

语法如下:

$ nload -u h|H|b|B|k|K|m|M|g|G
$ nload -U h|H|b|B|k|K|m|M|g|G
$ nload -u h
$ nload -u G
$ nload -U G

3.5 其他说明

默认第一行是网卡的名称及IP信息,使用键盘上的左右键可以切换网卡。
默认上边Incoming是进入网卡的流量;
默认下边Outgoing是网卡出去的流量;
默认右边(Curr当前流量)、(Avg平均流量)、(Min最小流量)、(Max最大流量)、(Ttl流量统计);
默认情况,统计数据的左边会使用显示流量图,用#号拼出来的,根据实时流量变化显示。
-a:这个好像是全部数据的刷新时间周期,单位是秒,默认是300.
-i:进入网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-m:不显示流量图,只显示统计数据。
-o:出去网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-t:显示数据的刷新时间间隔,单位是毫秒,默认500。
-u:设置右边Curr、Avg、Min、Max的数据单位,默认是自动变的.注意大小写单位不同!
h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:设置右边Ttl的数据单位,默认是自动变的.注意大小写单位不同(与-u相同)!
Devices:自定义监控的网卡,默认是全部监控的,使用左右键切换。
如只监控eth0命令:# nload eth0
比较好的例子 nload -o 20480 -i 204800 -m -u M

释义:

小写选项 -u: h 意为自动格式化为人类易读的单位,b 意为 Bit/s,k 意为 kBit/s,m 意为 MBit/s,g 意为 GBit/s。大写字母意为使用 Byte 替代 Bit。默认为 k。
大写选项 -U 与小写选项 -u 非常相似,不同之处在于它展示的是数据量,比如 Bit, kByte, GBit 等等。(没有 "/s")。默认值是 M。

参考资料:

  1. 在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
  2. nload 常见用法