perf-iostat − Show I/O performance metrics
perf
iostat list
perf iostat <ports> −− <command>
[<options>]
Mode is intended to provide four I/O performance metrics per each PCIe root port:
• Inbound Read − I/O devices below root port read from the host memory, in MB
• Inbound Write − I/O devices below root port write to the host memory, in MB
• Outbound Read − CPU reads from I/O devices below root port, in MB
• Outbound Write − CPU writes to I/O devices below root port, in MB
<command>...
Any command you can specify in a shell.
list
List all PCIe root ports.
<ports>
Select the root ports for monitoring. Comma−separated list is supported.
1. List all PCIe root ports (example for 2−S platform):
$ perf iostat
list
S0−uncore_iio_0<0000:00>
S1−uncore_iio_0<0000:80>
S0−uncore_iio_1<0000:17>
S1−uncore_iio_1<0000:85>
S0−uncore_iio_2<0000:3a>
S1−uncore_iio_2<0000:ae>
S0−uncore_iio_3<0000:5d>
S1−uncore_iio_3<0000:d7>
2. Collect metrics for all PCIe root ports:
$ perf iostat
−− dd if=/dev/zero of=/dev/nvme0n1 bs=1M
oflag=direct
357708+0 records in
357707+0 records out
375083606016 bytes (375 GB, 349 GiB) copied, 215.974 s, 1.7
GB/s
Performance counter stats for 'system wide':
port Inbound
Read(MB) Inbound Write(MB) Outbound Read(MB) Outbound
Write(MB)
0000:00 1 0 2 3
0000:80 0 0 0 0
0000:17 352552 43 0 21
0000:85 0 0 0 0
0000:3a 3 0 0 0
0000:ae 0 0 0 0
0000:5d 0 0 0 0
0000:d7 0 0 0 0
3. Collect metrics for comma−separated list of PCIe root ports:
$ perf iostat
0000:17,0:3a −− dd if=/dev/zero of=/dev/nvme0n1
bs=1M oflag=direct
357708+0 records in
357707+0 records out
375083606016 bytes (375 GB, 349 GiB) copied, 197.08 s, 1.9
GB/s
Performance counter stats for 'system wide':
port Inbound
Read(MB) Inbound Write(MB) Outbound Read(MB) Outbound
Write(MB)
0000:17 358559 44 0 22
0000:3a 3 2 0 0
197.081983474 seconds time elapsed
perf-stat(1)