Tomcat プロセスが強制的に停止されてしまう問題が発生しました。
環境
Ubuntu 20.04.3 LTS
Apache Tomcat 7.0.35
原因
OS のメモリ不足により、OutOfMemory が発生し、Linux OOM Killer により、Tomcat プロセスが強制的に停止されていました。
対応
下記 2 つの対応を実施して解決しました。
・Tomcat のヒープサイズが大きかったため、チューニングして小さい値にする。
・Tomcat プロセスが OOM Killer により強制的に停止されないようにする。
Tomcat プロセスが OOM Killer により強制的に停止されないようにするために、下記のコマンドを実行するシェルを作成して、Tomcat 起動時にシェルを実行するようにしました。
コマンド
TOMCAT_PID=`ps -ef|grep -v "grep"|grep "tomcat"|awk '{ print $2 }'`
echo -1000 > /proc/$TOMCAT_PID/oom_score_adj
上記のコマンドでは、Tomcat プロセスのプロセス ID を取得して、プロセス強制停止の優先度を設定することで、Tomcat プロセスを強制停止の対象外としています。
下記のコマンドを実行して、Tomcat プロセスが強制停止の対象外となっていることを確認します。コマンド実行結果が下記のように、-1000、0 になっていれば OK です。
コマンド
cat /proc/Tomcat のプロセス ID/oom_score_adj
-1000
cat /proc/Tomcat のプロセス ID/oom_score
0
補足
下記のログに OOM killer により、プロセスが強制停止された場合、その情報がログ出力されています。
/var/log/syslog
0 件のコメント :
コメントを投稿