微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么性能测试“对象代码读取”失败?

如何解决为什么性能测试“对象代码读取”失败?

当我运行 perf test 时,一个在 Ubuntu 21.04 Docker 容器中失败但在其 Ubuntu 21.04 主机上成功的测试是 26: Object code reading。似乎它可能与容器中的某些性能问题有关,例如dwarf 展开根本不起作用。

详细输出

26: Object code reading                                             :
--- start ---
test child forked,pid 92383
maps__set_modules_path_dir: cannot open /lib/modules/5.11.0-22-generic dir
Problems setting modules path maps,continuing anyway...
maps__set_modules_path_dir: cannot open /lib/modules/5.11.0-22-generic dir
Problems setting modules path maps,continuing anyway...
Looking at the vmlinux_path (8 entries long)
Failed to open /proc/kcore. Note /proc/kcore requires CAP_SYS_RAWIO capability to access.
/proc/{kallsyms,modules} inconsistency while looking for "[bpf]" module!
/proc/{kallsyms,modules} inconsistency while looking for "[bpf]" module!
Using /proc/kallsyms for symbols
Parsing event 'cycles:u'
mmap size 528384B
Reading object code for memory address: 0x7fd8f3dececb
File is: /usr/lib/x86_64-linux-gnu/libc-2.33.so
On file address is: 0x10decb
test child finished with -1
---- end ----
Object code reading: Failed!

测试究竟测试什么,为什么它在容器内失败?我正在使用 --privileged 运行 Docker。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。