blob: 443cfb715f69624fe6e91a7724a882ef1748fe3b [file] [log] [blame]
Haoba736572020-09-12 02:05:29 +08001Demonstrations of netqtop.
2
3
4netqtop traces the kernel functions performing packet transmit (xmit_one)
5and packet receive (__netif_receive_skb_core) on data link layer. The tool
6not only traces every packet via a specified network interface, but also accounts
7the PPS, BPS and average size of packets as well as packet amounts (categorized by
8size range) on sending and receiving direction respectively. Results are printed
9as tables, which can be used to understand traffic load allocation on each queue
10of interested network interface to see if it is balanced. And the overall performance
11is provided in the buttom.
12
13For example, suppose you want to know current traffic on lo, and print result
14every second:
15# ./netqtop.py -n lo -i 1
16Thu Sep 10 11:28:39 2020
17TX
18 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
19 0 88 0 9 0 0 0
20 Total 88 0 9 0 0 0
21
22RX
23 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
24 0 74 4 5 0 0 0
25 Total 74 4 5 0 0 0
26----------------------------------------------------------------------------
27Thu Sep 10 11:28:40 2020
28TX
29 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
30 0 233 0 3 1 0 0
31 Total 233 0 3 1 0 0
32
33RX
34 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
35 0 219 2 1 1 0 0
36 Total 219 2 1 1 0 0
37----------------------------------------------------------------------------
38
39or you can just use the default mode
40# ./netqtop.py -n lo
41Thu Sep 10 11:27:45 2020
42TX
43 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
44 0 92 0 7 0 0 0
45 Total 92 0 7 0 0 0
46
47RX
48 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
49 0 78 3 4 0 0 0
50 Total 78 3 4 0 0 0
51----------------------------------------------------------------------------
52Thu Sep 10 11:27:46 2020
53TX
54 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
55 0 179 0 5 1 0 0
56 Total 179 0 5 1 0 0
57
58RX
59 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
60 0 165 3 2 1 0 0
61 Total 165 3 2 1 0 0
62----------------------------------------------------------------------------
63
64This NIC only has 1 queue.
65If you want the tool to print results after a longer interval, specify seconds with -i:
66# ./netqtop.py -n lo -i 3
67Thu Sep 10 11:31:26 2020
68TX
69 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
70 0 85 0 11 0 0 0
71 Total 85 0 11 0 0 0
72
73RX
74 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
75 0 71 5 6 0 0 0
76 Total 71 5 6 0 0 0
77----------------------------------------------------------------------------
78Thu Sep 10 11:31:29 2020
79TX
80 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
81 0 153 0 7 1 0 0
82 Total 153 0 7 1 0 0
83
84RX
85 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K)
86 0 139 4 3 1 0 0
87 Total 139 4 3 1 0 0
88----------------------------------------------------------------------------
89
90To see PPS and BPS of each queue, use -t:
91# ./netqtop.py -n lo -i 1 -t
92Thu Sep 10 11:37:02 2020
93TX
94 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
95 0 114 0 10 0 0 0 1.11K 10.0
96 Total 114 0 10 0 0 0 1.11K 10.0
97
98RX
99 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
100 0 100 4 6 0 0 0 1000.0 10.0
101 Total 100 4 6 0 0 0 1000.0 10.0
102-----------------------------------------------------------------------------------------------
103Thu Sep 10 11:37:03 2020
104TX
105 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
106 0 271 0 3 1 0 0 1.06K 4.0
107 Total 271 0 3 1 0 0 1.06K 4.0
108
109RX
110 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
111 0 257 2 1 1 0 0 1.0K 4.0
112 Total 257 2 1 1 0 0 1.0K 4.0
113-----------------------------------------------------------------------------------------------
114
115When filtering multi-queue NICs, you do not need to specify the number of queues,
116the tool calculates it for you:
117# ./netqtop.py -n eth0 -t
118Thu Sep 10 11:39:21 2020
119TX
120 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
121 0 0 0 0 0 0 0 0.0 0.0
122 1 0 0 0 0 0 0 0.0 0.0
123 2 0 0 0 0 0 0 0.0 0.0
124 3 0 0 0 0 0 0 0.0 0.0
125 4 0 0 0 0 0 0 0.0 0.0
126 5 0 0 0 0 0 0 0.0 0.0
127 6 0 0 0 0 0 0 0.0 0.0
128 7 0 0 0 0 0 0 0.0 0.0
129 8 54 2 0 0 0 0 108.0 2.0
130 9 161 0 9 0 0 0 1.42K 9.0
131 10 0 0 0 0 0 0 0.0 0.0
132 11 0 0 0 0 0 0 0.0 0.0
133 12 0 0 0 0 0 0 0.0 0.0
134 13 0 0 0 0 0 0 0.0 0.0
135 14 0 0 0 0 0 0 0.0 0.0
136 15 0 0 0 0 0 0 0.0 0.0
137 16 0 0 0 0 0 0 0.0 0.0
138 17 0 0 0 0 0 0 0.0 0.0
139 18 0 0 0 0 0 0 0.0 0.0
140 19 0 0 0 0 0 0 0.0 0.0
141 20 0 0 0 0 0 0 0.0 0.0
142 21 0 0 0 0 0 0 0.0 0.0
143 22 0 0 0 0 0 0 0.0 0.0
144 23 0 0 0 0 0 0 0.0 0.0
145 24 0 0 0 0 0 0 0.0 0.0
146 25 0 0 0 0 0 0 0.0 0.0
147 26 0 0 0 0 0 0 0.0 0.0
148 27 0 0 0 0 0 0 0.0 0.0
149 28 0 0 0 0 0 0 0.0 0.0
150 29 0 0 0 0 0 0 0.0 0.0
151 30 0 0 0 0 0 0 0.0 0.0
152 31 0 0 0 0 0 0 0.0 0.0
153 Total 141 2 9 0 0 0 1.52K 11.0
154
155RX
156 QueueID avg_size [0, 64) [64, 512) [512, 2K) [2K, 16K) [16K, 64K) BPS PPS
157 0 127 3 9 0 0 0 1.5K 12.0
158 1 0 0 0 0 0 0 0.0 0.0
159 2 0 0 0 0 0 0 0.0 0.0
160 3 0 0 0 0 0 0 0.0 0.0
161 4 0 0 0 0 0 0 0.0 0.0
162 5 0 0 0 0 0 0 0.0 0.0
163 6 0 0 0 0 0 0 0.0 0.0
164 7 0 0 0 0 0 0 0.0 0.0
165 8 0 0 0 0 0 0 0.0 0.0
166 9 0 0 0 0 0 0 0.0 0.0
167 10 0 0 0 0 0 0 0.0 0.0
168 11 0 0 0 0 0 0 0.0 0.0
169 12 0 0 0 0 0 0 0.0 0.0
170 13 0 0 0 0 0 0 0.0 0.0
171 14 0 0 0 0 0 0 0.0 0.0
172 15 0 0 0 0 0 0 0.0 0.0
173 16 0 0 0 0 0 0 0.0 0.0
174 17 0 0 0 0 0 0 0.0 0.0
175 18 0 0 0 0 0 0 0.0 0.0
176 19 0 0 0 0 0 0 0.0 0.0
177 20 0 0 0 0 0 0 0.0 0.0
178 21 0 0 0 0 0 0 0.0 0.0
179 22 0 0 0 0 0 0 0.0 0.0
180 23 0 0 0 0 0 0 0.0 0.0
181 24 0 0 0 0 0 0 0.0 0.0
182 25 0 0 0 0 0 0 0.0 0.0
183 26 0 0 0 0 0 0 0.0 0.0
184 27 0 0 0 0 0 0 0.0 0.0
185 28 0 0 0 0 0 0 0.0 0.0
186 29 0 0 0 0 0 0 0.0 0.0
187 30 0 0 0 0 0 0 0.0 0.0
188 31 0 0 0 0 0 0 0.0 0.0
189 Total 127 3 9 0 0 0 1.5K 12.0
190-----------------------------------------------------------------------------------------------