【前提】
Resinにはサーバの状態を監視するためのヘルス機能が含まれています。
そのため、異常を検知した場合にResinの再起動を実施することがあります。
具体的な条件としては、ヘルス機能のヘルスチェックのどれかひとつでもヘルスステータス「CRITICAL」を返し、その状態が2分間継続した場合に、Resinインスタンスの再起動が実施されます。
ヘルス機能については、以下を確認してください。
■intra-mart Accel Platform 設定ファイルリファレンス - ヘルス機能
https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/resin/health/index.html
■intra-mart Accel Platform 設定ファイルリファレンス - ヘルス設定
https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/resin/health/health-check/config.html
【回答】
Resinの再起動が発生する主な原因としては、以下の事象が考えられます。
1. OutOfMemoryErrorの発生
2. MemoryPermGenHealthCheckでCRITICAL:0.00% freeを検出
以下、原因の詳細と確認方法を記載します。
1. OutOfMemoryErrorの発生
OutOfMemoryErrorは、メモリが枯渇することで発生します。
当事象が発生している場合、Resin JVMログ・システムログに以下のメッセージが出力されます。
WarningService: Shutdown: TcpSocketLink OutOfMemory
2. MemoryPermGenHealthCheckでCRITICAL:0.00% freeを検出
MemoryPermGenHealthCheckでCRITICAL:0.00% freeを検出した場合、メモリプールの空き領域不足が発生しています。
当事象が発生している場合、Resin JVMログ・システムログに以下のメッセージが出力されます。
MemoryPermGenHealthCheck[CRITICAL:0.00% free (0.000M free, 0.000M max, 0.000M used)] ※1
※1 数値部分には実際の値が表記されます。
上記2点いずれの場合も、メモリの使用率が上昇することで発生します。
メモリ使用率が上昇している場合の対応方法については、以下の関連FAQを確認してください。
・メモリ使用率が上昇しています。対応方法を教えてください。
https://cloud.intra-mart.support/hc/ja/articles/21579774858265
【補足事項】
当FAQを確認しても事象が解決しない場合は、以下の関連FAQを確認してください。
・FAQを確認しても、問題を解決できませんでした。
https://cloud.intra-mart.support/hc/ja/articles/17995848937241