Performance 如何使用QEMU进行评测?

Performance 如何使用QEMU进行评测?,performance,profiling,qemu,osdev,Performance,Profiling,Qemu,Osdev,我正在使用QEMU和GDB开发一个操作系统(作为爱好),但现在我面临一些性能问题。因此,我想知道应该优化哪些功能 所以基本上,我的需求主要是了解: 我的内核在哪些函数上花费的时间最多 函数被调用了多少次 你知道我怎么做吗?我也会接受使用Bochs的解决方案。据我所知,没有基于web的文档可用于QEMU分析,尽管如果根本没有方法进行分析,我会非常惊讶。如果QEMU正在使用kvm虚拟化(与模拟相反),那么也可能有一些专门用于kvm的评测工具 然而,由于QEMU提供了对GDB的访问,您仍然可以使用

我正在使用QEMU和GDB开发一个操作系统(作为爱好),但现在我面临一些性能问题。因此,我想知道应该优化哪些功能

所以基本上,我的需求主要是了解:

  • 我的内核在哪些函数上花费的时间最多
  • 函数被调用了多少次

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

据我所知,没有基于web的文档可用于QEMU分析,尽管如果根本没有方法进行分析,我会非常惊讶。如果QEMU正在使用
kvm
虚拟化(与模拟相反),那么也可能有一些专门用于
kvm
的评测工具

然而,由于QEMU提供了对GDB的访问,您仍然可以使用它!定期使用GDB的
回溯
来确定所有线程都在做什么,这可能非常有用。这将提供有关阻塞线程和未阻塞线程的数据,但由于您似乎不知道性能问题是否是由于阻塞造成的,因此这应该比什么都没有有用得多。如果您感到特别有决心,您可以使用这些数据创建更有用的可视化,例如

最糟糕(但通常最简单)的技术总是在代码中挑选一些可能成为瓶颈的随机函数,并输出每个调用所需的时间。当然不雅观,但在没有其他东西的情况下非常有用