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で報告されるメモリ量はこれらの値を超える可能性があります。ハイパーバイザーによって使用されるメモリ量は、より多くのメモリを使用するホストでは大きくなります。

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

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
    <!--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-->
メモリ使用量