1G RAMのlinode(Ubuntu 10.04 32ビット)上に5つのアプリケーションがありました。最近、アプリケーションの1つをそのlinodeから別の512Mに移動しました。このアプリケーションはJavaEE上に構築されており、古いサーバー上でかなり安定して動作していました。ただし、新しいサーバーでは、tomcat(両方のサーバーのバージョン6)がログなしでクラッシュすることがあります。新しいサーバーでの唯一の違いは、古いサーバーのapache2に対してWebサーバーとしてnginxを使用しており、新しいサーバーはUbuntu 12、64ビットを使用していることです。アプリケーションは古いサーバーで正常に動作していたため、メモリリークを疑う理由はありません。このような種類のクラッシュを防ぐために実行するTomcatの最適化はありますか?同時ユーザー数が10人程度の深夜でも、トラフィックによる負荷(新しいサーバーのRAMが少ないため)が原因かどうかは疑問です。tomcatはまだクラッシュします。問題に対する洞察をいただければ幸いです。
RAMの使用状況を確認したところ、Tomcatは常にメモリの約60%を占めており、突然クラッシュして0になりました。bashスクリプトを使用し、新しいサーバーで5分ごとにcronジョブとして実行して、Tomcatかどうかを確認しました。がダウンしていて、自動的に再起動します。それが問題の原因である可能性がありますか?スクリプトは以下に記載されています
if [ "$(/etc/init.d/tomcat6 status)" == " * Tomcat servlet engine is not running." ]; then /etc/init.d/tomcat6 start; fi
私はサーバー構成の専門家ではないことに注意してください。必要なものをインストールして実行するようにサーバーを構成することができます。