XenServer

メモリ使用量

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

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

コントロール ドメインに割り当てられるメモリ量は自動的に調整され、物理ホスト上の物理メモリ量に基づいています。デフォルトでは、XenServerはコントロール ドメインに合計物理メモリの1 GiBと5%を割り当て、初期最大8 GiBまでとします。

注:

XenCenter®のXenServerセクションで報告される量は、コントロール ドメイン (dom0) が使用するメモリ、Xenハイパーバイザー自体、およびクラッシュカーネルを含みます。したがって、XenCenterで報告されるメモリ量はこれらの値を超える可能性があります。ハイパーバイザーが使用するメモリ量は、より多くのメモリを使用するホストでは大きくなります。

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

dom0に割り当てられるメモリ量は、XenCenterまたはコマンドラインを使用して変更できます。コントロール ドメインに割り当てられるメモリ量をデフォルトで割り当てられている量を超えて増やすと、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
    <!--NeedCopy-->
    

    ここで、<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
<!--NeedCopy-->
メモリ使用量