メモリーおよびCPU割当ての操作
アクティブな仮想CPU (vCPU)の数と、特定のVMで使用可能なメモリーの量は構成可能です。このような構成の変更は、ホット・プラグまたはホット・アンプラグで実行中のVMに実施することも、VMのXML構成ファイルに格納することもできます。変更は、VMホスト、ハイパーバイザまたは元のVMの説明で制限できます。
仮想CPU数の構成
vCPUを最適化すると、VMのリソース効率に影響を与える可能性があります。最適化の1つの方法は、VMに割り当てるvCPUの数を調整することです。vCPUのホット・プラグまたはホット・アンプラグは、実行中のVMでvCPU数を構成するときに実施します。
ゲストVMでアクティブなvCPUの数を変更するには、virsh setvcpusコマンドを使用します。デフォルトでは、virsh setvcpusは実行中のゲストVMで動作します。停止したVMのvCPUの数を変更するには、--config
オプションを追加します。
たとえば、次のコマンドを実行して、実行中のVMでvCPUの数を設定します。
virsh setvcpus domain-name, id, or uuid count-value --live
このカウント値は、ゲストVMに割り当てられたCPUの数を超えることができないことに注意してください。また、このカウント値は、ホスト、ハイパーバイザ、またはゲストVMの元の説明によって制限されることもあります。
次のコマンド・オプションが指定できます。
-
domain
VM名、IDまたはUUIDを表す文字列値。
-
count
vCPUの数を表す数値。
-
--maximum
ゲストVMの次回ブート時にホット・プラグ可能なvCPUの最大数を制御します。このオプションは、
--config
オプションでのみ使用できます。 -
--config
ゲストVMの格納されているXML構成を変更し、ゲストの起動時に有効にします。
-
--live
ゲストVMは稼働している必要があり、変更は即座に実施されます(vCPUがホット・プラグされます)。
-
--current
現在のゲストVMに影響を与えます。
-
--guest
現在のゲストVMのCPU状態を変更します。
-
--hotpluggable
vCPUをホット・アンプラグできるように構成します。
ハイパーバイザで許可されている場合は、--config
オプションと--live
オプションを同時に使用できます。--config
、--live
または--current
を指定しない場合は、--live
オプションが使用されます。オプションを選択せずにゲストVMが実行されていない場合、コマンドは失敗します。さらに、オプションが指定されていない場合、--config
オプションも想定するかどうかはハイパーバイザによって決まり、変更が永続するようにXML構成を調整するかどうかもハイパーバイザによって決まります。
メモリー割当ての構成
VMのパフォーマンスが向上するように、VMに追加のホストRAMを割り当てることができます。割り当てられたメモリーの量を減らして、他のVMやタスクのためにリソースを解放することもできます。メモリーのホット・プラグまたはホット・アンプラグは、実行中のVMでメモリー・サイズを構成するときに実施します。
virsh setmemコマンドは、VMに使用可能なメモリーを変更する場合に使用します。割当て可能な最大メモリーを変更する場合は、virsh setmaxmemコマンドを使用します。
VMのメモリー割当てを変更するには、次のコマンドを実行します。
virsh setmem domain-name, id, or uuid --kilobytes size
size
はキビバイト単位でスケールされた整数として指定する必要があります。また、新しい値はVMに指定した量を超えることはできません。ほとんどのVMオペレーティング・システムでは、64MB未満の値は動作しない可能性があります。最大メモリー値を大きくしても、アクティブなVMには影響しません。新しい値が使用可能なメモリーよりも小さい場合は、メモリーが縮小されてVMがクラッシュする可能性があります。
次のコマンド・オプションが指定できます。
-
domain
VM名、IDまたはUUIDを表す文字列値。
-
size
スケーリングされた整数として、新しいメモリー・サイズを表す数値。デフォルトの単位はKiBですが、その他の有効なメモリー単位から選択できます。
-
バイト: bまたはbytes
-
キロバイト: KB (103または1,000バイトのブロック)
-
キビバイト: kまたはKiB (210または1024バイトのブロック)
-
メガバイト: MB (106または1,000,000バイトのブロック)
-
メビバイト: MまたはMiB (220または1,048,576バイトのブロック)
-
ギガバイト: GB (109または1,000,000,000バイトのブロック)
-
ギビバイト: GまたはGiB (230または1,073,741,824バイトのブロック)
-
テラバイト: TB (1012または1,000,000,000,000バイトのブロック)
-
テビバイト: TまたはTiB (240または1,099,511,627,776バイトのブロック)
-
-
--config
ゲストVMの格納されているXML構成を変更し、ゲストの起動時に有効にします。
-
--live
ゲストVMは稼働している必要があり、変更は即座に実施されます(メモリーがホット・プラグされます)。
-
--current
現在のゲストVMのメモリーに影響を与えます。
VMに割り当てることができる最大メモリーを設定するには、次のコマンドを実行します。
virsh setmaxmem domain-name_id_or_uuid size --current
size
は、キビバイト単位でスケーリングした整数として指定する必要があります。ただし、virsh setmemコマンドの場合と同じように、サポートされているメモリー単位も指定した場合を除きます。
virsh setmaxmemのその他すべてのオプションは、virsh setmemのものと同じですが、注意事項が1つあります。--live
オプションを指定する場合、すべてのハイパーバイザが最大メモリー制限のライブ変更を許可しているわけではないことに注意してください。