- - PR -
java.OutOfMemory Error
投票結果総投票数:25 | |||
---|---|---|---|
tomcat | ![]() |
25票 | 100.00% |
|
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-29 10:47
●環境
Apache Tomcat 4.1.24 J2SDK1.4.1_03 OS:Windows2000 Server すいません。 現在、tomcatのコンソール上にjava.OutOfMemory Errorという表示がでます。 画面のデータ量が多い場所で、ボタンを連打をしたためにjava.OutOfMemory Errorがでたもようです。 webが表示されないという事態になっております。 tomcatの起動方法は、デスクトップのStart Tomcatから起動しております。 ネットで私なりに調査し、環境変数にCATALINA_OPTSに対して以下の設定をしております。 set CATALINA_OPTS="-Xms 256 -Xmx256m" こちらだけ設定すれば、Tomcat JVMのヒープ領域を確保できるのでしょうか? 私の知識不足のため確認ができません。確認方法及び良い方法があればご教授お願い致します。 _________________ | ||||
|
投稿日時: 2004-10-29 11:01
java.lang.OutOfMemoryError ですよね?
OutOfMemoryError に関する切りわけ、対応方法はこちらが詳しいです。 http://support.bea.com/support_news/product_troubleshooting/Investigating_Out_of_Memory_Memory_Leak_Pattern.html ヒープを増やしても足りないならメモリリーク、またはパーマネント領域の不足を疑ってみましょう。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-10-29 11:02 ] | ||||
|
投稿日時: 2004-10-29 12:05
んー、迷いましたが 私も tomcat に一票です。
| ||||
|
投稿日時: 2004-10-29 12:23
unibon です。こんにちわ。
CATALINA_OPTS は良く知らないのですが、スペースがあったり、m がないような極端な値はダメっぽい気がします。 set CATALINA_OPTS="-Xms256m -Xmx256m" だとどうでしょうか。 また、実際に Servlet/JSP 内で、 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Runtime.html#freeMemory() や、totalMemory や maxMemory を取得して表示してみて、設定が効いているかどうかを確認されたほうが良いでしょう。 | ||||
|
投稿日時: 2004-11-04 11:35
新米です。すいません。ご報告遅れました。
私なりに考えてTomcat/binの下にseven.batという設定ファイルを作成いたしました。 起動するときは、binの下に移動し、作成したbatファイルを実行してから、 startup.batを実行するようにしました。 設定は反映いたしました。 seven.batの記述 set CATALINA_OPTS="-Xmx256M -Xms256M -Xss256K -server" ■コンソール上記述 run.maxMemory()335544320 run.totalMemory()52023296 run.freeMemory()17261016 seven.batの記述 set CATALINA_OPTS="-Xmx512M -Xms512M -Xss512K -server" ■コンソール上記述 run.maxMemory()603979776 run.totalMemory()52764672 run.freeMemory()17925904 maxMemoryが変更しております。 TOMCATをサービス化した場合の設定はどのようにすればよろしいのでしょうか? また、確認方法を教えていただけないでしょうか? 宜しくお願い致します。 | ||||
|
投稿日時: 2004-11-04 12:10
ヒープサイズを設定しなおすことで OutOfMemoryError は解消されたのでしょうか?
せっかくですから経過を報告してもらえるとウォッチしている人が安心しますよ。 >TOMCATをサービス化した場合の設定はどのようにすればよろしいのでしょうか? なんかスレッドの趣旨と変わってきていませんね?必要なら別スレッドを立てた方がスムースかもしれません。 >また、確認方法を教えていただけないでしょうか? 何の確認方法ですか? [ メッセージ編集済み 編集者: インギ 編集日時 2004-11-04 12:11 ] | ||||
|
投稿日時: 2004-11-04 13:58
インギさん 言葉が足らなくすいません。
totoです。 ヒープサイズの設定を変更した時点で、3日しかたっておりませんがOutOfMemoryErrorは今のところでておりません。 環境変数の設定では 環境変数にCATALINA_OPTSに対して以下の設定をしております。 set CATALINA_OPTS="-Xms 256 -Xmx256m" 設定 RuntimeクラスのmaxMemory()134217728をコンソール上に出力いたしました。 環境変数の値を変更しても、 set CATALINA_OPTS="-Xms 512 -Xmx512m" しましたが、 maxMemory()134217728の値に変更はありません。 結果、ヒープ領域に反映されていない事が判明いたしました。 ■別の方法 Tomcat4.1.24/bin直下にseven.batという設定ファイルを作成しました。 以下の内容です。 seven.batの記述 @echo off set CATALINA_OPTS="-Xmx512M -Xms512M -Xss512K -server" echo ok! DOSプロンプトンで以下のコマンドを実行 C:\Develop\Tomcat 4.1.24\bin>seven.bat run ok! Tomcat 4.1.24/binのstartup.batを実行します。 コンソール上にmaxMemory()603979776 設定は変更いたしました。 すいませんが、まだ言葉が足りないと思いますがご指導ご鞭撻の程宜しくお願いします。 | ||||
|
投稿日時: 2004-11-04 15:56
新米さん、こんにちは。
サービス登録されたTomcatへのパラメータについてですが、サービスにはtomcat.exeが登録されている様です。 Tomcat4.0.6しかないのでこれでtomcat.exe /?とすると jvm_option: An option to use when starting the JVM, such as: "-Djava.class.path=c:\classes" or "-Xmx128m". というヘルプが出てきました。 サービスのプロパティを開いて「開始パラメータ」にメモリ設定を加えてみてはいかがでしょうか? >set CATALINA_OPTS="-Xms 256 -Xmx256m" set CATALINA_OPTS="-Xms256m -Xmx256m"の誤字ですよね? 以上、よろしくお願いします。 |