CentOS6.4にkvmをインストールしました。その上に仮想サーバーCentOS_testを作成しました。 CEntOS_testを開始すると、次のメッセージが表示されます。
kvm: 23090: cpu0 unhandled wrmsr 0x391 data 2000000f
どういう意味ですか? CentOS_testは正常に機能しますが、このメッセージは私に関係していました。
無害な警告メッセージです。ゲストオペレーティングシステムは、仮想CPUをプローブし、起動中にCPUの状態を復元しています。これは、仮想環境では実行できません。これを参照してくださいKVMメーリングリスト 投稿 。最終的にはKVM/QEMUの更新でなくなるはずです。
「wrmsr」は「モデル固有のレジスタへの書き込み」を意味します。
KVMゲストのカーネルは、物理CPUに存在するx86_64 CPUレジスタにアクセスしようとしていますが、KVMはゲストに公開されていないか、公開されていますゲストへの書き込みアクセスを提供しません。
このアクセスの拒否は、おそらくそのアクセスがホストを破壊する可能性があるためです。たとえば、ゲストカーネルが物理プロセッサの機能をオンまたはオフにできるようにしたくない場合があります。
MSRについては次の場所で読むことができます: http://en.wikipedia.org/wiki/Model-specific_register
X86およびx86_64MSRのロット全体は、次の場所で表示できます。 http://download.intel.com/products/processor/manual/325384.pdf
このMSR0x391(0xはHexを指定し、Intelのマニュアルではこれを391Hと呼んでいます)がパフォーマンスカウンターレジスタであることがわかります。その使用法については、もう少し詳しく説明しています: http://ajray.wordpress.com/2009/04/12/global-control-register-for-pmcs/
ゲストVCPUは実際のCPUではなく、ゲストが認識できるよりも多くのCPUで実行されているため、ホストカーネルが処理している実際のパフォーマンスデータをそのパフォーマンスデータが台無しにしたくないため、ゲストはこのMSRへのカーネルの書き込みは拒否されます。