7

我可以访问可以通过 ssh 访问的机器。如何确定我的操作系统是在完全虚拟化(VMM 进行二进制翻译)、半虚拟化还是非虚拟化环境中运行?我对如何进行有一些想法(在虚拟化环境中访问内存页面/磁盘等一些操作将花费更长的时间)但不知道如何进行。

4

1 回答 1

2

它确实取决于您在其上运行的 VMM。如果它是 Xen 或 Microsoft VM,我相信CPUID值为EAX0x40000000 会给你一个非零值EAX。不确定这是否适用于 VMWare、VirtualBox 或 KVM。我希望它也能在那里工作......

测量访问时间不太可能总是向您展示真相,因为在非 VM 系统中,这些时间也可能有很大差异,并且没有真正的理由可以让您在有效的实现中看到巨大的差异。当然,您不知道您的 VM 是否使用通过 PCI 传递的真实硬盘控制器运行,或者您的 NFS 安装磁盘是否通过传递到 VM 的真实网卡连接,或者它们是否是通过虚拟网卡访问。

只要应用程序自己运行,一个好的 VMM 就不会显示出太大的差异。

于 2013-01-20T19:33:41.723 回答