メモリ使用量

最終公開日 : 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 に利用可能なメモリが減少します。
You might need to increase the amount of memory assigned to the control domain of a XenServer host in the following cases:
  • ホスト上で多数の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