Symantec logo

Gathering and displaying I/O statistics

You can use the vxdmpadm iostat command to gather and display I/O statistics for a specified DMP node, enclosure, path or controller.

To enable the gathering of statistics, enter this command:

# vxdmpadm iostat start [memory=size]

To reset the I/O counters to zero, use this command:

# vxdmpadm iostat reset

The memory attribute can be used to limit the maximum amount of memory that is used to record I/O statistics for each CPU. The default limit is 32k (32 kilobytes) per CPU.

To display the accumulated statistics at regular intervals, use the following command:

# vxdmpadm iostat show {all | dmpnodename=dmp-node | \

  enclosure=enclr-name | pathname=path-name | ctlr=ctlr-name} \

  [interval=seconds [count=N]]

This command displays I/O statistics for all controllers (all), or for a specified DMP node, enclosure, path or controller. The statistics displayed are the CPU usage and amount of memory per CPU used to accumulate statistics, the number of read and write operations, the number of kilobytes read and written, and the average time in milliseconds per kilobyte that is read or written.

The interval and count attributes may be used to specify the interval in seconds between displaying the I/O statistics, and the number of lines to be displayed. The actual interval may be smaller than the value specified if insufficient memory is available to record the statistics.

To disable the gathering of statistics, enter this command:

# vxdmpadm iostat stop

Examples of using the vxdmpadm iostat command

The following is an example session using the vxdmpadm iostat command. The first command enables the gathering of I/O statistics:

# vxdmpadm iostat start

The next command displays the current statistics including the accumulated total numbers of read and write operations and kilobytes read and written, on all paths.

# vxdmpadm iostat show all

 cpu usage = 7952us per cpu memory = 8192b

OPERATIONS KBYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdf    87 0 44544 0 0.001194 0.000000

sdk     0 0 0 0 0.000000 0.000000

sdg    87 0 44544 0 0.007265 0.000000

sdl     0 0 0 0 0.000000 0.000000

sdh    87 0 44544 0 0.001200 0.000000

sdm     0 0 0 0 0.000000 0.000000

sdi    87 0 44544 0 0.007315 0.000000

sdn     0 0 0 0 0.000000 0.000000

sdj    87 0 44544 0 0.001132 0.000000

sdo     0 0 0 0 0.000000 0.000000

sdj    87 0 44544 0 0.000997 0.000000

sdp     0 0 0 0 0.000000 0.000000

The following command changes the amount of memory that vxdmpadm can use to accumulate the statistics:

# vxdmpadm iostat start memory=4096

The displayed statistics can be filtered by path name, DMP node name, and enclosure name (note that the per-CPU memory has changed following the previous command):

# vxdmpadm iostat show pathname=sdk

 cpu usage = 8132us per cpu memory = 4096b

OPERATIONS BYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdk     0 0 0 0 0.000000 0.000000

# vxdmpadm iostat show dmpnodename=sdf

 cpu usage = 8501us per cpu memory = 4096b

OPERATIONS BYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdf  1088 0 557056 0  0.009542 0.000000

# vxdmpadm iostat show enclosure=Disk

 cpu usage = 8626us per cpu memory = 4096b

OPERATIONS BYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdf  1088 0 557056 0 0.009542 0.000000

You can also specify the number of times to display the statistics and the time interval. Here the incremental statistics for a path are displayed twice with a 2-second interval:

# vxdmpadm iostat show pathname=sdk interval=2 count=2

 cpu usage = 8195us per cpu memory = 4096b

OPERATIONS BYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdk     0 0 0 0 0.000000 0.000000

 cpu usage = 59us per cpu memory = 4096b

OPERATIONS BYTES AVG TIME(ms)

PATHNAME READS WRITES READS WRITES READS WRITES

sdk     0 0 0 0 0.000000 0.000000