メモリ使用量

最終公開日 : Oct 07, 2026
XenServer® ホストのメモリフットプリントには、2つのコンポーネントが寄与します。1つ目は、Xen ハイパーバイザー自体が消費するメモリです。2つ目は、ホストの コントロール ドメイン が消費するメモリです。「Domain0」または「dom0」とも呼ばれるコントロール ドメインは、XenServer 管理ツールスタック (XAPI) を実行するセキュアで特権的な Linux VM です。XenServer 管理機能を提供するだけでなく、コントロール ドメインは、ユーザーが作成した VM に物理デバイスへのアクセスを提供するドライバースタックも実行します。

コントロール ドメインのメモリ

コントロール ドメインに割り当てられるメモリ量は自動的に調整され、物理ホスト上の物理メモリ量に基づいています。デフォルトでは、XenServer はコントロール ドメインに 合計物理メモリの 1 GiB と 5% を割り当て、初期最大値は 8 GiB です。
注:
XenCenter® の XenServer セクションで報告される量は、コントロール ドメイン (dom0)、Xen ハイパーバイザー自体、およびクラッシュカーネルによって使用されるメモリを含みます。したがって、XenCenter で報告されるメモリ量はこれらの値を超える場合があります。ハイパーバイザーによって使用されるメモリ量は、より多くのメモリを使用するホストの場合、より大きくなります。

コントロール ドメインに割り当てられるメモリ量の変更

XenCenter またはコマンドラインを使用して、dom0 に割り当てられるメモリ量を変更できます。コントロール ドメインに割り当てられるメモリ量をデフォルトで割り当てられている量を超えて増やすと、VM で利用できるメモリが少なくなります。
次の場合には、XenServer ホストのコントロール ドメインに割り当てるメモリ量を増やす必要があるかもしれません。
  • ホスト上で多数の VM を実行している場合
  • PVS-Accelerator を使用している場合
  • 読み取りキャッシュを使用している場合
重要:
GFS2 SR を使用しており、これらのいずれかのケースがご使用の環境にも当てはまる場合は、コントロール ドメインのメモリ量を増やす必要があります。コントロール ドメインのメモリが不足すると、ネットワークの不安定性を引き起こし、GFS2 SR を持つクラスター化されたプールで問題が発生する可能性があります。
コントロール ドメインに割り当てるメモリ量は、ご使用の環境と VM の要件によって異なります。
制御ドメインのメモリ量が環境に適しているか、および行った変更がどのような影響を与えるかを判断するために、次のメトリックを監視できます。
  • スワップアクティビティ: 制御ドメインがスワップしている場合は、制御ドメインのメモリを増やします。
  • Tapdisk モード: ホストの XenCenter の パフォーマンス タブ内で、tapdisk が低メモリモードになっているかどうかを監視できます。アクション > 新しいグラフ を選択し、低メモリモードの Tapdisk グラフを選択します。tapdisk が低メモリモードになっている場合は、制御ドメインのメモリを増やします。
  • ページキャッシュの負荷: top コマンドを使用して、buff/cache メトリックを監視します。この数値が低くなりすぎた場合は、制御ドメインのメモリを増やすことを検討してください。

XenCenter を使用して dom0 メモリを変更する

XenCenter を使用して dom0 メモリを変更する方法については、XenCenter ドキュメントの「制御ドメインメモリの変更」を参照してください。
注:
XenCenter を使用して、XenServer のインストール時に最初に設定された値よりも dom0 メモリを減らすことはできません。この変更を行うには、コマンドラインを使用する必要があります。

コマンドラインを使用して dom0 メモリを変更する

注:
メモリが少ないホスト (16 GiB 未満) では、制御ドメインに割り当てられるメモリをインストール時のデフォルト値よりも少なくしたい場合があります。この変更を行うにはコマンドラインを使用できます。ただし、dom0 メモリを 1 GiB 未満に減らさないことをお勧めします。また、この操作はサポートチームの指導の下で行うことをお勧めします。
  1. XenServer ホストで、ローカルシェルを開き、root としてログオンします。
  2. 次のように入力します。
    xe host-list uuid=host_uuid params=control-domain-uuid
    xe vm-memory-set uuid=<control domain uuid> memory=<nn>M
    ここで、<nn> は dom0 に割り当てるメモリ量 (MiB 単位) を表します。
  3. XenCenter または XenServer コンソールで reboot コマンドを使用して XenServer ホストを再起動します。
    ホストが再起動したら、XenServer コンソールで free コマンドを実行して、新しいメモリ設定を確認します。

VM にはどれくらいのメモリが利用可能ですか?

VM に割り当て可能なホストメモリの量を確認するには、memory-free を実行してホストの空きメモリの値を見つけます。次に、vm-compute-maximum-memory コマンドを入力して、VM に割り当て可能な実際の空きメモリ量を取得します。例:
xe host-list uuid=host_uuid params=memory-free
xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value