首页 > 解决方案 > 在 qemu (x86_64) 下测量 CPU 周期

问题描述

我试图或多或少准确地确定在 QEMU (x86_64) 下运行的程序中的函数(-enable-kvm如果重要,则设置标志)执行多少 CPU 周期。

按照这份英特尔白皮书中的说明,似乎为了获得最准确的读数,我需要使用 和 指令的rdtsc某种rdtscp组合cpuid

这有两个问题:

  1. 在我的主机(也是 x86_64)上,该rdtscp指令受支持,但在 QEMU 下不支持。我没有找到这方面的信息,这个功能在 QEMU 下普遍没有吗?

  2. 似乎两者都rdtsc可能rdtscp导致 VM 存在,从而干扰了我的测量精度。我怎么知道这是否是这种情况,有没有办法可以防止它?

标签: x86x86-64qemukvmrdtsc

解决方案


推荐阅读