1Examples of bitesize.py, the Linux bcc/eBPF version.
2
3
4The aim of this tool is to show I/O distribution for requested block sizes, by process name.
5
6# ./bitesize.py
7Tracing... Hit Ctrl-C to end.
8^C
9
10Process Name = 'kworker/u128:1'
11     Kbytes              : count     distribution
12         0 -> 1          : 1        |********************                    |
13         2 -> 3          : 0        |                                        |
14         4 -> 7          : 2        |****************************************|
15
16Process Name = 'bitesize.py'
17     Kbytes              : count     distribution
18         0 -> 1          : 0        |                                        |
19         2 -> 3          : 0        |                                        |
20         4 -> 7          : 0        |                                        |
21         8 -> 15         : 0        |                                        |
22        16 -> 31         : 0        |                                        |
23        32 -> 63         : 0        |                                        |
24        64 -> 127        : 0        |                                        |
25       128 -> 255        : 1        |****************************************|
26
27Process Name = 'dd'
28     Kbytes              : count     distribution
29         0 -> 1          : 3        |                                        |
30         2 -> 3          : 0        |                                        |
31         4 -> 7          : 6        |                                        |
32         8 -> 15         : 0        |                                        |
33        16 -> 31         : 1        |                                        |
34        32 -> 63         : 1        |                                        |
35        64 -> 127        : 0        |                                        |
36       128 -> 255        : 0        |                                        |
37       256 -> 511        : 1        |                                        |
38       512 -> 1023       : 0        |                                        |
39      1024 -> 2047       : 488      |****************************************|
40
41Process Name = 'jbd2/dm-1-8'
42     Kbytes              : count     distribution
43         0 -> 1          : 0        |                                        |
44         2 -> 3          : 0        |                                        |
45         4 -> 7          : 1        |****************************************|
46
47Process Name = 'cat'
48     Kbytes              : count     distribution
49         0 -> 1          : 1        |                                        |
50         2 -> 3          : 0        |                                        |
51         4 -> 7          : 0        |                                        |
52         8 -> 15         : 0        |                                        |
53        16 -> 31         : 0        |                                        |
54        32 -> 63         : 1        |                                        |
55        64 -> 127        : 0        |                                        |
56       128 -> 255        : 0        |                                        |
57       256 -> 511        : 1924     |****************************************|
58
59Process Name = 'ntpd'
60     Kbytes              : count     distribution
61         0 -> 1          : 0        |                                        |
62         2 -> 3          : 0        |                                        |
63         4 -> 7          : 104      |****************************************|
64
65Process Name = 'vmtoolsd'
66     Kbytes              : count     distribution
67         0 -> 1          : 0        |                                        |
68         2 -> 3          : 0        |                                        |
69         4 -> 7          : 1        |****************************************|
70
71Process Name = 'bash'
72     Kbytes              : count     distribution
73         0 -> 1          : 0        |                                        |
74         2 -> 3          : 0        |                                        |
75         4 -> 7          : 0        |                                        |
76         8 -> 15         : 0        |                                        |
77        16 -> 31         : 2        |****************************************|
78
79Process Name = 'jbd2/sdb-8'
80     Kbytes              : count     distribution
81         0 -> 1          : 0        |                                        |
82         2 -> 3          : 0        |                                        |
83         4 -> 7          : 1        |****************************************|
84         8 -> 15         : 0        |                                        |
85        16 -> 31         : 0        |                                        |
86        32 -> 63         : 1        |****************************************|
87
88We can see from above that there was a dd command being run which generated 488 IOPS between 1MB and 2MB, we can also see the
89cat command generating 1924 IOPS between 256Kb and 512Kb.
90