web-dev-qa-db-ja.com

Windows 7がなぜVM Linuxで実行されている)KVMすべての仮想プロセッサを使用しないのですか?

すべて

VMの1つをWindows 2008 ServerからWindows 7(最終版)に移行してから、サーバーで問題が発生しました。4つのコアをVMに割り当てましたが、それらを見るために、それは2つのコアを持っていると思われるようです!

It recognises my processors but doesn't use them!

誰がここで何が起こっているのか教えてもらえますか? KVM=とWindows 7の間にはいくつかの非互換性があるのではないかと思いましたが、仮想プロセッサが表示されるため、私は考えていません...手がかりはありませんか?

次のスクリーンショットは、同じボックスに2つのコアのみを示しています。

Task manager

12
jkp

プロセッサーが個別のソケットのシングルコアプロセッサーとして提供されているのではないかと思います。 Windows 7 Ultimateは最大2ソケットシステムをサポートするため、2プロセッサを使用します。

KVM=を構成して、プロセッサをシングルクアッドコアCPUまたは2デュアルコアCPUのいずれかとして提示できるかどうかはわかりません。これで問題が解決します。

17
xenny

Libvirt 0.8.3では、次のように入力した場合:

virsh capabilities | grep topology

ホストのトポロジが一覧表示されます。

<topology sockets='1' cores='4' threads='1'/>

数値は、ソケット、ソケットあたりのコア、およびコアあたりのスレッドを示します。この行をxmlファイルのcpuエントリに追加して、ウィンドウが4つのコアすべてを使用できるようにします。例:

 <vcpu>4</vcpu>
 <cpu>
     <topology sockets='1' cores='4' threads='1'/>
 </cpu>
21
Mark Dayel

Ubuntu 15.04以降、トポロジ設定はvirt-managerで完全にサポートされています。

Virt-manager> CPUs> Topologyから:

  • チェック:CPUトポロジを手動で設定します
  • ソケット:2
  • コア:2
  • スレッド:2

以下は、virt-managerの上記の設定から作成されます。 virsh editでこれらを入力する必要はありません。

<vcpu placement='static'>8</vcpu>
<cpu mode='Host-model'>
  <model fallback='allow'/>
  <topology sockets='2' cores='2' threads='2'/>
</cpu>

更新後、トポロジはWindowsによって認識されなくなり、仮想CPUが2ソケットに制限されます。

これを修正するには、「virsh edit」を使用してkvm機能を非表示にし、hyperv機能を追加します。完全にシャットダウンして再起動した後、ウィンドウVMは複数のCPUを再び認識します。

Windows 7 VM Linuxで実行している理由)KVMすべての仮想プロセッサを使用しないのはなぜですか?

<features>
  <acpi/>
  <apic/>
  <hyperv>
    <relaxed state='on'/>
    <vapic state='on'/>
    <spinlocks state='on' retries='8191'/>
  </hyperv>
  <kvm>
    <hidden state='on'/>
  </kvm>
</features>
4
rickfoosusa

RHEL/CentOS 5.5(kvm> = 83-164.el5)では、kvmバイナリは「-smp N、cores = N」オプションもサポートします(パッケージにバックポートパッチがあります)。ただし、libvirtバージョンはドメインXMLの<topology>要素をサポートしていません。回避策は、適切なオプションを追加する/ usr/libexec/kvmのラッパースクリプトを作成し、デフォルトのパスの代わりに<emulator>要素でそのスクリプトを指定することです。

2
Sergey Vlasov

Ubuntu 10.4(Lucid)にはバージョン0.7.5のlibvirtがあり、バージョン0.7.6では トポロジーのサポート がlibvirtに追加されていることに注意してください。 Ubuntu 10.10(Maverick)には0.8.3のlibvirtがあるため、ラッパーなしでXMLのトポロジー仕様を直接サポートできるはずです。

1
user67327