vCenter Server 8.0 U3h の自動スペースクリーンアップ ユーティリティがメモリを大量に消費する
search cancel

vCenter Server 8.0 U3h の自動スペースクリーンアップ ユーティリティがメモリを大量に消費する

book

Article ID: 425615

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「Automated space cleanup utility (space_utility) consumes high memory on vCenter Server 8.0 U3h」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • vCenter Server 上で複数のサービスが Out Of Memory を記録して応答しなくなることがあります。
    サービス固有ログ(例:Topology service)には以下のようなエラーが記録される場合があります。

    /var/log/vmware/topologysvc/topology-svcs.log
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    ※これは一例であり、他サービスにも影響する可能性があります。
  • top コマンドで確認すると、次のプロセスが高いメモリ使用量として表示される場合があります。
    PID   USER      PR  NI    VIRT    RES    %CPU  %MEM     TIME+ S COMMAND
    #### root       20  0    307.7m  293.6m  0.0   1.8    0:04.29 S python3 /usr/lib/applmgmt/support/space_utility --report-file-path /var/log/vmware/ --report-file-nam+
    #### root       20  0    348.0m  276.3m  0.0   1.7    0:04.52 S python3 /usr/lib/applmgmt/support/space_utility --report-file-path /var/log/vmware/ --report-file-nam+
    #### root       20  0    307.8m  264.6m  0.0   1.7    0:04.19 S python3 /usr/lib/applmgmt/support/space_utility --report-file-path /var/log/vmware/ --report-file-nam+

Environment

  • vCenter Server 8.0 U3h
  • vCenter 9.0.1

Cause

  • vCenter Server 8.0 U3h には、古いログをクリーンアップするために 毎日 0:00 に実行される自動スペースクリーンアップ ユーティリティが存在します。
  • まれに、このスケジュールされたクリーンアップ タスクが NFS マウントポイントで構成された file-based backup and restore(FBBR) と競合することがあります。
    その結果、マウントされた NFS 共有を space_utility が走査することでメモリを大量に消費する場合があります。
    さらに、space_utility が NFS 共有を走査中に FBBR によって NFS がアンマウントされると、既知の NFS の制限により space_utility がハングし、メモリリークにつながる場合があります。

    この事象が繰り返し発生すると、蓄積したメモリリークにより、性能劣化やサービスの OOM エラーが発生する可能性があります。

Resolution

これは vCenter 8.0 U3h / 9.0.1 における既知の問題であり、Broadcom エンジニアリングチームは今後のパッチリリースでこの問題を修正すべく積極的に取り組んでいます。

Workaround

稼働中の space_utility プロセスを終了し、このユーティリティの自動実行を無効化します。

  1. vCenter に SSH でログインします。

  2. Appliance Shell の場合は shell を実行して bash を起動します。

     shell
  3. 稼働中の space_utility の PID を確認します。

     ps aux | grep space_utility
  4. 手順 3 で確認した PID を終了します。

     kill -9 <pid またはスペース区切りの pid 群>
  5. cron ジョブを削除して日次実行を無効化します。

     rm -f /etc/cron.d/space_util.cron
  6. (任意)高メモリ使用量の影響で他サービスが影響を受けている場合は、サービスを再起動します。

     service-control --stop --all
     service-control --start --all

    注:この手順は任意であり、space_utility の高メモリ使用により vCenter の機能に影響が出ている場合にのみ実施します。