Bravaの重大な障害(ヒープメモリ領域の枯渇)

Bravaの重大な障害(ヒープメモリ領域の枯渇)

Bravaが全く使用できない状態になる重大な障害の原因として第一に挙げられるのは、Tomcatに割り当てられたJavaヒープメモリ領域の枯渇です。
この記事ではJavaヒープメモリ領域枯渇時の症状や対処方法、予防策について説明します。

Javaヒープメモリ領域枯渇時の主な症状
  1. ファイル種別に関係なく、アクセスしたときのレスポンスが非常に遅い、または時折HTTP404エラーが発生する
  2. Tomcatを再起動すると一時的に上記症状が直る場合があるが、またしばらくすると同様の状態になる
  3. JobProcessorがジョブを取得できなくなる

Javaヒープメモリ領域枯渇の特定方法
  1. TomcatのLocalhost Accessログ内にHTTP404エラーが記録されている
  2. TomcatのCatalinaログ内、またはBravaサーバーログ内に「OutOfMemory」などメモリ関連のエラーが記録されている
障害の原因
キャッシュデータ量が増えてくると、それに比例してキャッシュ管理情報(インデックス情報)のサイズが増加します。
キャッシュ管理情報はJavaヒープメモリスペース上に展開されるため、キャッシュ管理情報のサイズが肥大化してヒープメモリ領域が確保できなくなると、Bravaサーバーのレスポンスは著しく悪化します。このような状態でTomcatの再起動を実施すると、Bravaサーバーアプリケーション起動時のキャッシュ管理情報の展開が行えず、Bravaサーバーが起動できない状態になります。

解消方法
Tomcatの設定ツールでJavaヒープメモリの最大割り当て量を増やしたのち、Tomcatを再起動します。
すでに割り当て可能なメモリスペースを割り当て済でこれ以上増やせない場合は、現行のヒープメモリ量で取り扱える量までBravaの最大キャッシュサイズを減らします。
※バージョン16.6以上の製品をお使いの場合、詳細の手順が「管理ガイド」に記載されています。

予防策
キャッシュの最大保持サイズをデフォルトの「10G」よりも大きい値に設定する場合、ヒープメモリ量をデフォルトサイズより増やしてください。
また、キャッシュの最大保持サイズは100G以内にとどめるようにしてください。
※Javaヒープメモリに指定できるメモリ量はマシンスペックやOS種別によって異なります。マシンに対して物理的に割り当て不可なサイズを指定するとTomcatが起動できなくなります。