エラー: 「アプライアンスのメモリが不足しています。マシンにメモリを追加します。」または vCenter Server Appliance 7.x/8.x のメモリ不足
search cancel

エラー: 「アプライアンスのメモリが不足しています。マシンにメモリを追加します。」または vCenter Server Appliance 7.x/8.x のメモリ不足

book

Article ID: 418733

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項: これは英文の記事 「Error: "Appliance is running low on memory. Add more memory to the machine" or Memory exhaustion on vCenter Server Appliance 7.x/8.x」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • vCenter Server は、最近 7.x/8.x にアップグレードの実施またはインストールが行われました。
  • vCenter Server Appliance の VAMI へ全体的な健全性のアラートの表示、およびメモリのアラートの表示として「アプライアンスのメモリが不足しています。マシンにメモリを追加します。」というメッセージが表示されます。
  • cpuごとの割り当てのメモリ使用量(/proc/meminfo内の"Percpu:"行)が高い(1GB以上) 

# grep -i percpu /proc/meminfo

  • VCSAのSSH セッションで以下のコマンドを使用して検証された、VMware Pod サービスの再起動回数が多数(100 回以上)であること。

# journalctl -b 0 | grep "Started VMware Pod" | wc -l

Environment

VMware vCenter Server 7.x
VMware vCenter Server 8.x

Cause

高いCPUごとのメモリ使用量は、「VMware Pod」サービスの頻繁な再起動の結果として、多数のメモリcgroupがdying状態にあることによって引き起こされます。メモリcgroupのdying状態に関する懸念は、 Linux Plumbers 2020 で議論されました。CPUホットアドが有効になっているVMでは、CPUごとのメモリのオーバーヘッドが特に高くなります。

Resolution

この問題はvCenter Server 7.x および 8.x バージョンで発生しています。以下の回避策で問題を解決できます。

回避策:

  1. CPUごとのメモリ使用量がこれ以上増加しないように、vmware-pod サービスを停止して無効にします。
    1. SSHを使用してVCSAにログインする
    2. 以下のコマンドを実行して、「vmware-pod」サービスを停止して無効にします(注:オンプレミス環境では、vmware-pod サービスを無効にしても安全です)。
      • systemctl stop vmware-pod
      • systemctl disable vmware-pod


  2. [即時対応] - 再起動は不要です。キャッシュを削除してダーティページを解放することで、dying状態のメモリcgroupを解放します。CPUあたりのメモリの大部分が解放されます。
    1. SSHを使用してVCSAにログインする
    2. キャッシュを削除するには以下のコマンドを実行します
      • echo 3 > /proc/sys/vm/drop_caches
  3. [推奨] cgroup のカーネルメモリアカウンティングを無効にします。再起動が必要です。

    1. SSHを使用してVCSAにログインする

    2. vi エディタを使用してファイル /boot/photon.cfg を編集します。
      # vi /boot/photon.cfg

    3. photon_cmdline= の末尾にパラメータ cgroup.memory=nokmem を追加します。
    4. 'Esc + wq!'を使用しファイルを保存して、vi エディタを終了します。

    5. VCSAを再起動します。

  4. [オプション] VCSA VM の CPU ホット アドの有効化が必要ない場合は無効にします。仮想マシンの電源をオフにする必要があります。
    1. vCenter Server Appliance 仮想マシンをシャットダウンします。
    2. インベントリ内の仮想マシンを右クリックし、[設定の編集] を選択します。
    3. [仮想ハードウェア] タブで [CPU] を展開し、[CPU ホット アドの有効化] のチェックを外します。
    4. [OK]をクリックします
    5. VCSA  VM の電源をオンにします。
  1.  

 

Additional Information

  • 注:極小(Tiny)構成はラボまたは検証環境向けであり、本番環境での使用は推奨されません。本番環境で使用する場合 vCenter Server VMは、以下の本番環境の最小サイジング要件を満たす必要があります。

4 vCPU
21 GB RAM 小規模環境(Small configuration)