9.4. ゲスト仮想マシンのメモリー割り当て

以下の手順は、ゲスト仮想マシンにメモリーを割り当てる方法を示しています。以下に示す割り当て作業が有効になるのは起動時のみであり、メモリーの値に変更を加えた場合は次の起動時まで有効になりません。1 ゲストあたりに割り当てることのできる最大メモリーは 4 TiB です。ただし、このメモリー割り当てはホスト物理マシンのリソースが提供できる範囲を超えない場合にのみ有効です。
有効なメモリーの単位:
  • バイト、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 バイト)
libvirt により値はすべて直近のキビバイトに切り上げられ、またハイパーバイザーで対応できる単位までさらに切り上げられる場合があるので注意してください。また、ハイパーバイザーの中には、4000KiB (または 4000 x 210 または 4,096,000 バイト) などの最小値を強制するものがあります。この値の単位は memory unit というオプションの属性で確定されます。この属性では、測定単位がキビバイト (KiB) にデフォルト設定されます (210 または 1024 バイトブロック単位)。
ゲスト仮想マシンがクラッシュする場合、オプションの属性 dumpCore を使用して、ゲスト仮想マシンのメモリーを生成されるコアダンプに含ませる (dumpCore='on') か、または含ませない (dumpCore='off') かの制御を行なうことができます。デフォルト設定は on になります。つまり、パラメーターが off に設定されていない限り、ゲスト仮想マシンのメモリーはコアダンプに含まれることになります。
currentMemory 属性でゲスト仮想マシンの実際のメモリー割り当てを確定します。ゲスト仮想マシンのオンザフライでのメモリーバルーニングを許可するには、この値を最大割り当て値よりも小さくすることができます。この値の設定を省略すると、memory 要素と同じ値にデフォルト設定されます。単位の属性の動作はメモリーの属性と同じです。
このセクションのすべてのケースでは、ドメイン XML を以下のように変更する必要があります。
<domain>
  
  <memory unit='KiB' dumpCore='off'>524288</memory>
  <!-- changes the memory unit to KiB and does not allow the guest virtual machine's memory to be included in the generated coredump file -->
  <currentMemory unit='KiB'>524288</currentMemory>
  <!-- makes the current memory unit 524288 KiB -->
  ...
</domain>