Linux の OOM-Killer によって Confluence のプロセスが意図せず終了する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

問題

  • Confluence が Linux ホストにインストールされているときに、Confluence のプロセス全体が警告なしで突然終了する。つまり、プロセス ID (pid) がなくなる。

  • ブラウザには汎用的な "接続できませんでした" あるいは類似のエラーが表示され、web ページに到達できない旨が示される。
  • アプリケーションは適切にシャットダウンされることなく終了されたため、Confluence のアプリケーション ログ (<Confluence ホーム>/logs/atlassian-confluence.log) で特別な情報は確認できない。
  • 同様に Tomcat のログ (<Confluence インストール>/logs/catalina.out) にもエラーは記録されない。

原因と診断

Confluence は、shutdown.sh または stop-confluence.sh が発行された場合を除いて自身の pid は終了されません。これらのコマンドが発行された場合、Confluence がシャットダウンのプロセスにあることを示すエントリが atlassian-confluence.log ファイルに記録されます。つまり、Confluence の pid が意図せず終了した場合、外部要因があることを意味します。

例:

  • kill -9 コマンド
  • kill コマンドを発行する何らかのスクリプト
  • Linux OOM-Killer など、アプリケーションの制御外でプロセスを停止させる他のメカニズム

この KB 記事では Linux OOM-Killer に焦点を当てます。これは、オペレーション システムがそのオペレーションのためにメモリ枯渇が発生したときに、メモリを解放するためにプロセスを犠牲にする、一部の Linux インストールの機能です。これは Confluence のメモリ不足とは異なる点にご注意ください。この例の場合、OS そのものでメモリ不足の危険があり、それを回避するために終了プロセスが開始されています。

ホスト マシンの /var/log/ ディレクトリで syslog または messages を見つけ、pid が終了されたタイミングのタイムスタンプを見つけます。次のようなエントリがある場合、OOM-Killer によってプロセスが停止したことがわかります。

Jan 15 04:20:30 confluence-a kernel: [370087.856050] Out of memory: Kill process 2753 (java) score 320 or sacrifice child
Jan 15 04:20:30 confluence-a kernel: [370087.857773] Killed process 2753 (java) total-vm:2256656kB, anon-rss:400988kB, file-rss:0kB

ソリューション

OOM-Killer が原因である場合は次のようなソリューションが考えられます。

(info) OOM-Killer の処理の詳細については次のページをご確認ください。http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/

Last modified on Mar 21, 2024

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.