当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – 如何使用QEMU进行性能分析?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在使用QEMU和GDB开发一个操作系统(作为一种爱好),但我现在面临一些性能问题.因此,我想知道应该优化哪些功能. 所以基本上,我的需求主要是知道: 我的内核花费的时间最多. 调用函
我正在使用QEMU和GDB开发一个操作系统(作为一种爱好),但我现在面临一些性能问题.因此,我想知道应该优化哪些功能.

所以基本上,我的需求主要是知道:

>我的内核花费的时间最多.
>调用函数的次数

你知道我怎么做的吗?我也会接受使用Bochs的解决方案.

据我所知,没有基于网络的文档可用于QEMU分析,但如果完全无法进行分析,我会感到非常惊讶.如果QEMU使用kvm虚拟化(与模拟相反),可能还有一些专门针对kvm的分析工具.

但是,由于QEMU提供了对GDB的访问,您仍然可以使用它! poor man’s profiler定期使用GDB的回溯来确定你的所有线程正在做什么,这可能非常有用.这将提供有关被阻塞线程以及未阻塞线程的数据,但由于您似乎不知道您的性能问题是否是由于阻塞造成的,因此这应该比没有任何东西更有用.如果您感觉特别坚定,可以使用此数据创建更有用的可视化,例如Brendan Gregg’s flame graphs.

最糟糕的(但通常最简单的)技术总是在代码中挑选一些可能​​是瓶颈的随机函数,并输出每次调用所需的时间.虽然不够优雅,但在没有别的东西可用时非常有用.

网友评论