【linux命令讲解大全】171.网络流量监控工具 iftop 和磁盘I/O监视工具 iotop 的介绍及应用

2024-03-02 14:29:51 浏览数 (2)

iftop

一款实时流量监控工具

补充说明

iftop命令是一款实时流量监控工具,可以监控TCP/IP连接等。但缺点是没有报表功能,并且需要以root身份才能运行。

语法

iftop [选项]

选项
  • -h:显示帮助信息
  • -n:不进行主机名解析
  • -N:不将端口号转换为服务名称
  • -p:以混杂模式运行(显示同一网络段上其他主机之间的流量)
  • -b:不显示流量的柱状图
  • -B:以字节的形式显示带宽
  • -i interface:监听指定的接口
  • -f filter code:使用过滤代码选择要计数的数据包(默认只统计IP数据包)
  • -F net/mask:显示进出IPv4网络的流量流向
  • -G net6/mask6:显示进出IPv6网络的流量流向
  • -l:显示并计数链路本地的IPv6流量(默认关闭)
  • -P:显示主机和端口号
  • -m limit:设置带宽刻度的上限
  • -c config file:指定替代的配置文件
  • -t:使用无界面的文本界面
排序方式
  • -o 2s:按第一列排序(2秒平均流量)
  • -o 10s:按第二列排序(10秒平均流量)【默认】
  • -o 40s:按第三列排序(40秒平均流量)
  • -o source:按源地址排序
  • -o destination:按目标地址排序
仅与-t选项同时使用的以下选项
  • -s num:在num秒后打印一次文本输出后退出
  • -L num:要打印的行数
界面说明

第一行显示带宽,这里是1Mbit,不是字节。连接列表的最后三列分别是2秒、10秒和40秒的平均流量,=>代表发送,<=代表接收。最后三行表示发送、接收和总流量,第二列是从运行iftop开始到现在的流量,第三列是高峰值,第四列是平均值。

实例
代码语言:javascript复制
iftop           # 默认监控第一块网卡的流量
iftop -i eth1   # 监控eth1
iftop -n        # 直接显示IP,不进行DNS反解析
iftop -N        # 直接显示端口号,不显示服务名称
iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0  # 显示某个网段进出封包流量

iotop

用来监视磁盘I/O使用状况的工具

补充说明

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。它提供与top类似的用户界面,显示PID、用户、I/O、进程等相关信息。大多数基于Linux的IO统计工具如iostat、nmon等只能统计各个设备的读写情况,如果你想了解每个进程如何使用IO,则比较麻烦。而使用iotop命令可以方便地查看这些信息。

iotop是使用Python语言开发的,要求安装Python 2.5或更高版本和Linux内核2.6.20或更高版本。你可以从官方主页下载iotop的源代码及rpm包。

安装
Ubuntu
代码语言:javascript复制
apt-get install iotop
CentOS
代码语言:javascript复制
yum install iotop
编译安装
代码语言:javascript复制
wget http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.gz
tar zxf iotop-0.4.4.tar.gz
python setup.py build
python setup.py install
语法

iotop [选项]

选项
  • -o:只显示有IO操作的进程
  • -b:批量显示,无交互,主要用于记录到文件
  • -n NUM:显示NUM次,主要用于非交互式模式
  • -d SEC:每隔SEC秒显示一次
  • -p PID:监控指定进程的pid
  • -u USER:监控指定用户的进程
iotop常用快捷键:
  • 左右箭头:改变排序方式,默认按IO排序
  • r:改变排序顺序
  • o:只显示有IO输出的进程
  • p:进程/线程的显示方式切换
  • a:显示累积使用量
  • q:退出
实例

直接执行iotop即可看到效果:

代码语言:javascript复制
Total DISK read:       0.00 B/s | Total DISK write:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    command
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init [3]
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/1]
   11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
2572 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bluetooth]

0 人点赞