上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




以前、Fedora 10にTomcatをインストールしましたが、インストールしているPCのスペックがあまりよくない事もあり下記エラーが発生して動作に支障が・・・。
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: Java heap space

【Tomcat】Fedora 10でTomcatのインストール



java.lang.OutOfMemoryError: Java heap spaceの現象


複数人でTomcatに配備したアプリケーションを実行中に応答が返ってこない現象があり、ログを確認すると下記ログが出力されていました。
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
致命的: org.apache.jk.common.ChannelSocket$SocketAcceptor@b78eac を実行中に例外 (java.lang.OutOfMemoryError: Java heap space) をキャッチしたので、スレッ
ドを終了します
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: Java heap space


java.lang.OutOfMemoryError: Java heap spaceの対策


Tomcatをインストールしただけで、ヒープサイズなど設定しないため、ここではヒープサイズを設定します。

catalina.sh


■/usr/local/tomcat/bin/catalina.sh
if [ -r "$CATALINA_BASE"/bin/setenv.sh ]; then
. "$CATALINA_BASE"/bin/setenv.sh
elif [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
. "$CATALINA_HOME"/bin/setenv.sh
fi

catalina.shファイル中に上記記述があるため、「setenv.sh」ファイルがあれば実行してくれるみたいなので、catalina.shファイルを触るよりいいのかなって事で、「setenv.sh」ファイルにヒープサイズを設定します。

setenv.sh


■/usr/local/tomcat/bin/setenv.sh
#!/bin/sh
JAVA_OPTS="-Xms512m -Xmx1024m"


Tomcatの再起動を行い、psコマンドで設定値が正しく反映しているか確認する。
ps aux|grep java

/usr/local/java/jdk1.6.0_13/bin/java -Xms512m -Xmx1024m

取りあえず上記設定で運用して、再度同じ現象が発生した場合考えることにする。

■参考
@IT:チューニングのためのJava VM講座(後編)
少しでも参考になれば応援お願いします。












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。