第 41 章 使用 SystemTap 监控磁盘和 I/O 活动
您可以使用以下脚本监控磁盘和 I/O 活动:
41.1. 使用 SystemTap 总结磁盘读/写流量
您可以使用 disktop.stp SystemTap 脚本来识别执行了哪些进程读取和写入系统。
先决条件
- 如安装 Systemtap 所述,已安装了 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