I/O Monitoring (By Device)
script examples
monitoring device I/O
examples of SystemTap scripts
monitoring device I/O
monitoring device I/O
examples of SystemTap scripts
I/O monitoring (by device)
examples of SystemTap scripts
device I/O, monitoring
examples of SystemTap scripts
example from http://sourceware.org/systemtap/examples/io/traceio2.stp, but error
WAR STORY: http://sourceware.org/systemtap/wiki/WSDeviceMonitor?highlight=((WarStories)), but script errored
was able to correct script through http://sourceware.org/systemtap/wiki/WSFileMonitor?highlight=((WarStories))
This section describes how to monitor I/O activity on a specific device.
traceio2.stp
script examples
stat -c, determining whole device number
examples of SystemTap scripts
stat -c, determining whole device number
stat -c, determining whole device number
examples of SystemTap scripts
script examples
whole device number (usage as a command-line argument)
examples of SystemTap scripts
whole device number (usage as a command-line argument)
whole device number (usage as a command-line argument)
examples of SystemTap scripts
takes 1 argument: the whole device number. To get this number, use stat -c "0x%D" directory, where directory is located in the device you wish to monitor.
script examples
usrdev2kerndev()
examples of SystemTap scripts
usrdev2kerndev()
usrdev2kerndev()
examples of SystemTap scripts
The usrdev2kerndev() function converts the whole device number into the format understood by the kernel. The output produced by usrdev2kerndev() is used in conjunction with the MKDEV(), MINOR(), and MAJOR() functions to determine the major and minor numbers of a specific device.
The output of includes the name and ID of any process performing a read/write, the function it is performing (i.e. vfs_read or vfs_write), and the kernel device number.
The following example is an excerpt from the full output of stap traceio2.stp 0x805, where 0x805 is the whole device number of /home. /home resides in /dev/sda5, which is the device we wish to monitor.
Sample Output
[...]
synergyc(3722) vfs_read 0x800005
synergyc(3722) vfs_read 0x800005
cupsd(2889) vfs_write 0x800005
cupsd(2889) vfs_write 0x800005
cupsd(2889) vfs_write 0x800005
[...]