1f9ed693eSAlexander Antonovperf-iostat(1)
2f9ed693eSAlexander Antonov===============
3f9ed693eSAlexander Antonov
4f9ed693eSAlexander AntonovNAME
5f9ed693eSAlexander Antonov----
6f9ed693eSAlexander Antonovperf-iostat - Show I/O performance metrics
7f9ed693eSAlexander Antonov
8f9ed693eSAlexander AntonovSYNOPSIS
9f9ed693eSAlexander Antonov--------
10f9ed693eSAlexander Antonov[verse]
11f9ed693eSAlexander Antonov'perf iostat' list
12*f2c24ebaSAlyssa Ross'perf iostat' <ports> \-- <command> [<options>]
13f9ed693eSAlexander Antonov
14f9ed693eSAlexander AntonovDESCRIPTION
15f9ed693eSAlexander Antonov-----------
16f9ed693eSAlexander AntonovMode is intended to provide four I/O performance metrics per each PCIe root port:
17f9ed693eSAlexander Antonov
18f9ed693eSAlexander Antonov- Inbound Read   - I/O devices below root port read from the host memory, in MB
19f9ed693eSAlexander Antonov
20f9ed693eSAlexander Antonov- Inbound Write  - I/O devices below root port write to the host memory, in MB
21f9ed693eSAlexander Antonov
22f9ed693eSAlexander Antonov- Outbound Read  - CPU reads from I/O devices below root port, in MB
23f9ed693eSAlexander Antonov
24f9ed693eSAlexander Antonov- Outbound Write - CPU writes to I/O devices below root port, in MB
25f9ed693eSAlexander Antonov
26f9ed693eSAlexander AntonovOPTIONS
27f9ed693eSAlexander Antonov-------
28f9ed693eSAlexander Antonov<command>...::
29f9ed693eSAlexander Antonov	Any command you can specify in a shell.
30f9ed693eSAlexander Antonov
31f9ed693eSAlexander Antonovlist::
32f9ed693eSAlexander Antonov	List all PCIe root ports.
33f9ed693eSAlexander Antonov
34f9ed693eSAlexander Antonov<ports>::
35f9ed693eSAlexander Antonov	Select the root ports for monitoring. Comma-separated list is supported.
36f9ed693eSAlexander Antonov
37f9ed693eSAlexander AntonovEXAMPLES
38f9ed693eSAlexander Antonov--------
39f9ed693eSAlexander Antonov
40f9ed693eSAlexander Antonov1. List all PCIe root ports (example for 2-S platform):
41f9ed693eSAlexander Antonov
42f9ed693eSAlexander Antonov   $ perf iostat list
43f9ed693eSAlexander Antonov   S0-uncore_iio_0<0000:00>
44f9ed693eSAlexander Antonov   S1-uncore_iio_0<0000:80>
45f9ed693eSAlexander Antonov   S0-uncore_iio_1<0000:17>
46f9ed693eSAlexander Antonov   S1-uncore_iio_1<0000:85>
47f9ed693eSAlexander Antonov   S0-uncore_iio_2<0000:3a>
48f9ed693eSAlexander Antonov   S1-uncore_iio_2<0000:ae>
49f9ed693eSAlexander Antonov   S0-uncore_iio_3<0000:5d>
50f9ed693eSAlexander Antonov   S1-uncore_iio_3<0000:d7>
51f9ed693eSAlexander Antonov
52f9ed693eSAlexander Antonov2. Collect metrics for all PCIe root ports:
53f9ed693eSAlexander Antonov
54f9ed693eSAlexander Antonov   $ perf iostat -- dd if=/dev/zero of=/dev/nvme0n1 bs=1M oflag=direct
55f9ed693eSAlexander Antonov   357708+0 records in
56f9ed693eSAlexander Antonov   357707+0 records out
57f9ed693eSAlexander Antonov   375083606016 bytes (375 GB, 349 GiB) copied, 215.974 s, 1.7 GB/s
58f9ed693eSAlexander Antonov
59f9ed693eSAlexander Antonov    Performance counter stats for 'system wide':
60f9ed693eSAlexander Antonov
61f9ed693eSAlexander Antonov      port             Inbound Read(MB)    Inbound Write(MB)    Outbound Read(MB)   Outbound Write(MB)
62f9ed693eSAlexander Antonov   0000:00                    1                    0                    2                    3
63f9ed693eSAlexander Antonov   0000:80                    0                    0                    0                    0
64f9ed693eSAlexander Antonov   0000:17               352552                   43                    0                   21
65f9ed693eSAlexander Antonov   0000:85                    0                    0                    0                    0
66f9ed693eSAlexander Antonov   0000:3a                    3                    0                    0                    0
67f9ed693eSAlexander Antonov   0000:ae                    0                    0                    0                    0
68f9ed693eSAlexander Antonov   0000:5d                    0                    0                    0                    0
69f9ed693eSAlexander Antonov   0000:d7                    0                    0                    0                    0
70f9ed693eSAlexander Antonov
71f9ed693eSAlexander Antonov3. Collect metrics for comma-separated list of PCIe root ports:
72f9ed693eSAlexander Antonov
73f9ed693eSAlexander Antonov   $ perf iostat 0000:17,0:3a -- dd if=/dev/zero of=/dev/nvme0n1 bs=1M oflag=direct
74f9ed693eSAlexander Antonov   357708+0 records in
75f9ed693eSAlexander Antonov   357707+0 records out
76f9ed693eSAlexander Antonov   375083606016 bytes (375 GB, 349 GiB) copied, 197.08 s, 1.9 GB/s
77f9ed693eSAlexander Antonov
78f9ed693eSAlexander Antonov    Performance counter stats for 'system wide':
79f9ed693eSAlexander Antonov
80f9ed693eSAlexander Antonov      port             Inbound Read(MB)    Inbound Write(MB)    Outbound Read(MB)   Outbound Write(MB)
81f9ed693eSAlexander Antonov   0000:17               358559                   44                    0                   22
82f9ed693eSAlexander Antonov   0000:3a                    3                    2                    0                    0
83f9ed693eSAlexander Antonov
84f9ed693eSAlexander Antonov        197.081983474 seconds time elapsed
85f9ed693eSAlexander Antonov
86f9ed693eSAlexander AntonovSEE ALSO
87f9ed693eSAlexander Antonov--------
88f9ed693eSAlexander Antonovlinkperf:perf-stat[1]
89