eclipseでTomcat使って java heap space
プロジェクトが大きく(クラス量が増えてくると)なると
tomcat起動しようとして
cause:java.lang.OutOfMemmory
メモリーが足りないよー。なんて出たりする。
プロジェクトを右クリック→実行→実行の構成→
引数 タブを選択して VM引数に、
-Xmx768m
などと指定できるけど、どうもこの画面は見にくいんです。
ってことで、別の画面で設定しちゃおうってことで
(eclipse3.4の場合)
ウィンドウ→設定→java→インストール済みのJRE
プロジェクトが使っているJDKなどを選択して、編集→ デフォルトのVM引数
とテキスト入力ボックスがあるからそこに、
-Xmx768m
と入力すればよい。
今回設定してみた値は、
-server -Xmx512m -Xms512m -Xmn192m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=4 -XX:+UseParallelGC -Djava.awt.headless=true
と(1行で記述)、いろいろな設定をしてみた。
設定してからtomcat使うと チューニングの効果は明らかに出る。
JSPのコンパイル早いし、表示も早いし。
メモリが余ってる場合は、多めに確保しておくほうがよいね。
ちなみに、上記の設定はEclipse内で動作させるtomcatじゃなくても
tomcat単独で動作させる場合にも適用可能。
windowsならば、
{CATALINA_HOME}/bin
に、「setenv.bat」という名前で
set CATALINA_OPTS=-server -Xmx512m -Xms512m -Xmn192m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=128m ・・・・ -verbose:gc
と1行で記述してファイルを置いておけば startup.bat から起動した場合にJAVA-OPTS(VM引数)を
認識してくれる。
WindowsのサービスによりTomcatを起動する場合は、別の管理用のGUI(tomcat5w.exe)で設定する必要がある。
GUIのJavaというタブの
Java Options:に記述する必要がある。