
ゲストのメモリ割り当てを virt-manager 経由で設定しました。
現在のメモリを 16384Mb、最大メモリを 32768Mb に設定しました。
現在のメモリがまったく変わらないことに気付きました。なぜでしょうか?
同様に、CPU 数を 2 に設定しましたが、VM は常に 1 つだけを使用します。
ホスト: Debian/Jessie
ゲスト: ws2012
libvirt バージョン: 1.2.9
virt-manager: 1.0.1
Windows 用ドライバー ballon: バージョン 62.73.104.12600/11.8.2016
答え1
どのハイパーバイザーを使用しているかは記載されていないため、KVM であると推測しますが、私の回答は Xen にも適用されます。currentMemory=16384 および maxMemory=32768 を設定すると、KVM に 32 GB の RAM で起動し、バルーン ドライバーを使用してそれを 16 GB に減らすように指示することになります。
バルーンドライバがRAMを16GBに減らすと、明示的にKVMに増やすように指示しない限り、再び増やすことはできません。指示しない限り、自動的に調整されることはありません。
CPU 数に関してですが、ゲストを起動する前、またはゲストがすでに実行されている間に CPU 数を 2 に設定したかどうかについては触れられていません。通常、ほとんどの OS では、CPU のホットプラグは自動的に行われないため、起動する前に CPU 数を設定する必要があります。
Windows の一部のバージョンでは、さらに複雑な問題があります。Windows を最初にインストールしたときに CPU が 1 つしかない場合、Windows はシングル プロセッサ モードでインストールされたため、後で CPU を追加してもそれらの CPU は使用されません。さらに、Windows の一部のバージョンでは、1 つのソケットのみがサポートされますが、複数のコアが許可されます。そのため、virt-manager に CPU トポロジを変更して、1 つのコアを持つ 2 つのソケットではなく、2 つのコアを持つ 1 つのソケットを公開するように指示する必要がある場合があります。