XenServer

メモリ使用率

XenServerホストでのメモリ占有量の計算で、考慮に入れるべき2つのコンポーネントがあります。1つはXenハイパーバイザー自体が消費するメモリ、2つ目は、ホストのコントロールドメインが消費するメモリです。コントロールドメインは「Domain0」または「dom0」とも呼ばれ、XenServerの管理ツールスタックを実行するセキュアな特権Linux仮想マシンです。コントロールドメインは、XenServer管理機能を提供するほか、ユーザーが作成した仮想マシンに物理デバイスへのアクセスを提供するドライバースタックも実行します。

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

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

注:

XenCenterのXenServerセクションのレポートには、コントロールドメイン(dom0)、Xenハイパーバイザー、クラッシュカーネルにより使用されているメモリ量が含まれます。XenCenterには、上記のメモリ量よりも大きな値が表示される場合があります。多くのメモリを搭載したホスト上では、ハイパーバイザーにより使用されるメモリ量も大きくなります。

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

dom0に割り当てるメモリの量は、XenCenterまたはコマンドラインを使用して変更できます。コントロールドメインに割り当てるメモリ量をデフォルト設定よりも増やすと、仮想マシンで使用できるメモリが少なくなります。

以下のケースでは、XenServerホストのコントロールドメインに割り当てるメモリ量を増やすことが必要なときがあります:

  • ホストで多数の仮想マシンを実行
  • PVSアクセラレータを使用
  • 読み取りキャッシュを使用

重要:

GFS2ストレージリポジトリを使用しており、これらのケースのいずれかがご使用の環境に当てはまる場合は、コントロールドメインのメモリの量を増やす必要があります。コントロールドメインのメモリが不足するとネットワークが不安定になり、GFS2ストレージリポジトリを含むクラスター化プールで問題が発生する可能性があります。

コントロールドメインに割り当てるメモリの量は、環境と仮想マシンの要件によって異なります。

次の測定値を監視して、コントロールドメインのメモリの量が環境に適しているかどうか、および変更が加えられた場合の影響を判断できます。

  • スワップ処理: コントロールドメインがスワップされている場合、コントロールドメインのメモリを増やします。
  • Tapdiskのモード: ホストのXenCenterの [パフォーマンス] タブから、Tapdiskが低メモリモードになっているかどうかを監視できます。[アクション]>[新規グラフ] を選択し、[低メモリモードのTapdisk ] グラフを選択します。Tapdiskが低メモリモードの場合は、コントロールドメインのメモリを増やします。
  • ページキャッシュプレッシャー: buff/cacheの測定値を監視するには、topコマンドを使用します。この数値が小さくなりすぎた場合、コントロールドメインのメモリを増やすことができます。

XenCenterを使用したdom0メモリの変更

XenCenterを使用してdom0用メモリを変更する方法について詳しくは、XenCenterドキュメントの「コントロールドメインのメモリの変更」を参照してください。

注:

XenCenterを使用してXenServerのインストール中に最初に設定された値よりコントロールドメインに割り当てるメモリを少なくすることはできません。設定を変更するにはコマンドラインを使用する必要があります。

コマンドラインを使用したdom0メモリの変更

注:

メモリの搭載量が少ないホスト(16GiB未満)では、コントロールドメインに割り当てるメモリをインストール時のデフォルト値よりも少なくすることができます。設定を変更するにはコマンドラインを使用します。ただし、dom0メモリは1GiB以下にしないことをお勧めします。また変更操作はサポートチームのガイダンスを受けながら行ってください。

  1. XenServerホストのローカルシェルを開き、ルートユーザーとしてログオンします。

  2. 次のように入力します:

    /opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=<nn>M,max:<nn>M
    <!--NeedCopy-->
    

    <nn>に、コントロールドメインに割り当てるメモリ量をMiB単位で指定します。

  3. XenCenterを使用するかXenServerコンソールのrebootコマンドを使用して、XenServerホストを再起動します。

    ホストが再起動したら、XenServerコンソールでfreeコマンドを実行してメモリ設定を確認します。

仮想マシンで使用できるメモリの確認

仮想マシンに割り当てることができるホストメモリの量を調べるには、memory-freeを実行してホストの空きメモリの値を取得します。次に、コマンドvm-compute-maximum-memoryを使用して、仮想マシンに割り当てできる実際の空きメモリ量を取得します。例:

xe host-list uuid=host_uuid params=memory-free
xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value
<!--NeedCopy-->
メモリ使用率