kvm: 23090: cpu0 未处理的 wrmsr 0x391 数据 2000000f

kvm: 23090: cpu0 未处理的 wrmsr 0x391 数据 2000000f

我在 CentOS 6.4 上安装了 kvm。我在其上创建了虚拟服务器 CentOS_test。当我启动 CEntOS_test 时,我收到消息:

kvm: 23090: cpu0 unhandled wrmsr 0x391 data 2000000f

这是什么意思? CentOS_test 运行正常,但是这个消息让我很担心。

答案1

这是一条无害的警告消息。您的客户操作系统正在探测其虚拟 CPU 并在启动期间恢复某些 CPU 状态,这在虚拟环境中无法完成。请参阅此 KVM 邮件列表邮政。它最终应该会随着 KVM/QEMU 更新而消失。

答案2

“wrmsr”的意思是“写入特定模型的寄存器”。

KVM 客户的内核正在尝试访问物理 CPU 中存在的一些 x86_64 CPU 寄存器,但 KVM 不会向客户机公开该寄存器,或者不会为客户提供写入访问权限。

拒绝访问可能是因为该访问可能会破坏主机。例如,您不希望允许客户机内核打开和关闭物理处理器的功能。

您可以在以下网址阅读有关 MSR 的信息:http://en.wikipedia.org/wiki/Model-specific_register

您可以在以下位置查看全部 x86 和 x86_64 MSR:http://download.intel.com/products/processor/manual/325384.pdf

您可以看到这个 MSR 0x391(0x 指定十六进制,Intel 手册将其称为 391H)是一个性能计数器寄存器。它的用法在以下位置有详细介绍:http://ajray.wordpress.com/2009/04/12/global-control-register-for-pmcs/

因为客户机 VCPU 不是真正的 CPU,并且 CPU 上运行的任务比客户机能够意识到的要多,我们不希望它的性能数据扰乱主机内核正在处理的真实性能数据,因此拒绝客户机内核写入此 MSR。

相关内容