第 43 章 使用 SystemTap 监控磁盘和 I/O 活动

您可以使用以下脚本监控磁盘和 I/O 活动。

43.1. 使用 SystemTap 总结磁盘读/写流量

您可以使用 disktop.stp SystemTap 脚本来识别执行了哪些进程读取和写入系统。

先决条件

流程

  • 运行 disktop.stp 脚本:

    # stap --example disktop.stp

    脚本显示对磁盘读或写消耗最多的前十个进程。

    输出包括每个列出进程的以下数据:

    UID
    用户 ID。用户 ID 0 代表 root 用户。
    PID
    列出进程的 ID。
    PPID
    列出进程的父进程的进程 ID。
    CMD
    列出进程的名称。
    DEVICE
    列出进程从其中读取或写入的存储设备。
    T
    由列出的进程执行的操作类型,其中 W 代表写入,R 代表读取。
    BYTES
    从磁盘读取或写入的数据量。

disktop.stp 脚本的输出类似如下:

[...]
Mon Sep 29 03:38:28 2008 , Average:  19Kb/sec, Read: 7Kb, Write: 89Kb
UID      PID     PPID                       CMD   DEVICE    T    BYTES
0    26319    26294                   firefox     sda5    W        90229
0     2758     2757           pam_timestamp_c     sda5    R         8064
0     2885        1                     cupsd     sda5    W         1678
Mon Sep 29 03:38:38 2008 , Average:   1Kb/sec, Read: 7Kb, Write: 1Kb
UID      PID     PPID                       CMD   DEVICE    T    BYTES
0     2758     2757           pam_timestamp_c     sda5    R         8064
0     2885        1                     cupsd     sda5    W         1678