- - PR -
ヒープサイズの設定方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-28 15:02
こんにちは
現在以下のような構成でWebアプリケーションを作成しております WebServer:Tomcat4.1 Database:Mysql4.1 OS:WindowsXP Professional Memory:1024M HDD:80GB WebアプリでたまにOutofMemoryのエラーが発生しております ヒープサイズの設定がデフォルトのまま(64M)なのでそれを変更したいのですが 変更できません Tomcatの起動は、サービス起動ではなく、スタートメニューより「Start Tomcat」をつかい 起動しております 現在の設定としては サーバマシンの環境変数に「CATALINA_OPTS」を作成 値に「-Xmx1024m -Xms512m -server」をいれ、サーバを再起動しました 確認のために参照元記事URLにもある確認方法で -------------------------------------------------------------------------------- public class Test { public static void main(String[] args) { System.out.println(Runtime.getRuntime().maxMemory()); } } -------------------------------------------------------------------------------- で確認したところ 値は、「66650112」=約64MB となっていて、設定が全然有効になりません 皆様のお知恵をお貸しください |
|
投稿日時: 2007-05-28 15:37
バッチファイル内で Tomcat 起動直前のところで echo で起動文をダンプして、設定がうまくコマンドラインに反映されているか確認してみましょう。
|
|
投稿日時: 2007-05-28 15:50
ご返答ありがとうございます
「Start Tomcat」内 "D:\Program Files\j2sdk_nb\j2sdk1.4.2\bin\java.exe" -jar -Duser.dir="d:\Program Files\Apache Group\Tomcat 4.1" "d:\Program Files\Apache Group\Tomcat 4.1\bin\bootstrap.jar" start で起動されているので echo on %CATALINA_OPTS% をこのStartバッチに組み込んだところ 期待通り、 「-server -Xmx1024m -Xms512m」 という答えが返ってきましたので設定は反映されていると判断致しましたが 何かまちがっていますでしょうか? |
|
投稿日時: 2007-05-28 16:27
なるほど。CATALINA_OPTS はちゃんと設定されているみたいですね。
バッチファイル内で Tomcat 起動直前のところで echo で起動文をダンプして、設定がうまくコマンドラインに反映されているか確認してみてはいかがでしょう。 |
|
投稿日時: 2007-05-28 16:34
すいません。どうやら自分の理解が足りないようで
以下が、起動前にEcho ONした起動文です 以下の出力メッセージから正しく設定されているかはどこをみて確認できるのでしょうか? C:\>"D:\Program Files\j2sdk_nb\j2sdk1.4.2\bin\java.exe" -jar -Duser.dir="d:\Program Files\Apache Group\Tomcat 4.1" "d:\Program Files\Apache Group\Tomcat 4.1\bin\bootstrap.jar" start 2007/05/28 16:30:30 org.apache.commons.modeler.Registry loadRegistry 情報: Loading registry information 2007/05/28 16:30:30 org.apache.commons.modeler.Registry getRegistry 情報: Creating new Registry instance 2007/05/28 16:30:30 org.apache.commons.modeler.Registry getServer 情報: Creating MBeanServer 2007/05/28 16:30:31 org.apache.coyote.http11.Http11Protocol init 情報: Initializing Coyote HTTP/1.1 on port 8080 サービス Tomcat-Standalone を起動します Apache Tomcat/4.1.18 2007/05/28 16:30:34 org.apache.coyote.http11.Http11Protocol start 情報: Starting Coyote HTTP/1.1 on port 8080 2007/05/28 16:30:34 org.apache.jk.common.ChannelSocket init 情報: JK2: ajp13 listening on /0.0.0.0:8009 2007/05/28 16:30:34 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/94 config=d:\Program Files\Apache Group\Tomcat 4.1\conf\jk2.properties |
|
投稿日時: 2007-05-28 16:54
大変失礼致しました
どうやら自分は、勘違いしておりました StartTomcat(スタートメニューにある)は、単なるjava.exeの起動だけなのですね 今気づきました %CATALINA_HOME%\bin内のstartup.batにechoをOnにしてダンプしたところ 「start "Tomcat" "・・・java" -server -Xmx512m -Xms256m ・・・」 という文で起動をしておりました 根本的な間違えに気づかせて頂きありがとうございます とはいえ、起動後確認Javaソースで、maxMemoryの値は、やはり64Mのままでした どこがいけないのかご教授お願い致します |
|
投稿日時: 2007-05-28 17:15
すいません。
この確認Javaソースでは相変わらずmaxMemoryが64Mなのですが Tomcatを起動させると、タスクマネージャの使用メモリが256M確かに増えているようです そしてTomcatを終了するとそのメモリ分が開放されるため、どうやら設定はうまくいっているように思えます Runtime().maxMemory()をもう少し勉強してみます インギ様 ご指摘により一歩前進することができました 本当にありがとうございました [ メッセージ編集済み 編集者: YoshiYoshi 編集日時 2007-05-28 17:15 ] |
1