Linux &引用;“性能顶级”;排序不';看起来一点也不像
我想检查缓冲队列的一些指标,并根据在任何给定跟踪点在缓冲区中排队的项目数对Linux &引用;“性能顶级”;排序不';看起来一点也不像,linux,profiling,perf,Linux,Profiling,Perf,我想检查缓冲队列的一些指标,并根据在任何给定跟踪点在缓冲区中排队的项目数对perf top显示的条目进行排序 但是,当我将number of items字段指定为主排序键时,它根本没有根据该键进行排序。例如,我使用net:net\u dev\u xmit静态跟踪点和以下命令 perf top-e net:net\u dev\u xmit-s len,开销 使用web浏览器几秒钟后的输出如下 可以看出,它不再按照我的请求按照开销进行排序。但是它也没有按照len进行排序!至少输出中没有明显的总顺序
perf top
显示的条目进行排序
但是,当我将number of items字段指定为主排序键时,它根本没有根据该键进行排序。例如,我使用net:net\u dev\u xmit
静态跟踪点和以下命令
perf top-e net:net\u dev\u xmit-s len,开销
使用web浏览器几秒钟后的输出如下
可以看出,它不再按照我的请求按照开销进行排序。但是它也没有按照len
进行排序!至少输出中没有明显的总顺序
在某种程度上,我怀疑它可能使用字母数字降序,但事实并非如此,因为1432是在152之前打印的,但字母数字降序排序会将前缀14
排序在前缀15
之后
这是怎么回事 我认为你不能按
len
排序。请尝试perf top-e net:net\u dev\u xmit-s开销
@Hadi,但为什么可以将其指定为排序键呢?排序开关仅适用于perf
具有内置知识的键。这包括开销键,但不包括len。我认为如果指定一个不受支持的键,perf
将忽略它,或者它似乎忽略了整个排序开关。实际上,您可以尝试perf top-e net:net\u dev\u xmit-s开销,len
?也就是说,切换len
和开销
。“我希望这只会按开销排序。”哈迪布雷斯:谢谢,我明白了。有趣的是,不能在--fields
上指定键,这与我在这种情况下所期望的正好相反(接受--fields,拒绝--sort)。关于切换:是的,这是默认行为,但这不是我想要的,因为它不会按len排序,而是按开销排序。
Samples: 208 of event 'net:net_dev_xmit', Event count (approx.): 155
Overhead len
0,65% 232
0,65% 214
0,65% 192
0,65% 183
5,16% 1432
0,65% 152