- - PR -
java実行時のメモリサイズ指定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-29 16:00
Windows 2003 SP1
Tomcat 5.0.28 Sun Java 1.4.0.28 メモリ 1G 上記のテスト環境で、システム全機能の動作確認をおこなっていますが OutOfMemoryが発生します。 発生時のgcのトレースは 1663.926: [Full GC 1663.926: [Tenured: 26395K->26402K(116544K), 0.3520106 secs] 26490K->26402K(129728K), [Perm : 65535K->65535K(65536K)], 0.3520802 secs] 1664.283: [Full GC 1664.283: [Tenured: 26402K->26403K(116544K), 0.3267612 secs] 26403K->26403K(129728K), [Perm : 65535K->65535K(65536K)], 0.3268157 secs] 1664.617: [Full GC 1664.617: [Tenured: 26403K->26405K(116544K), 0.3335573 secs] 26422K->26405K(129728K), [Perm : 65535K->65535K(65536K)], 0.3336200 secs] 1664.954: [Full GC 1664.954: [Tenured: 26405K->26375K(116544K), 0.3651159 secs] 26405K->26375K(129728K), [Perm : 65535K->65533K(65536K)], 0.3651832 secs] という状態でpermがデフォルトの64Mでは足りないようなので -XX:MaxPermSize=128m を指定して、OutOfMemotyは発生しなくなりました。 Tomcat起動時の設定で -Xmx512m -Xms128m を指定しているのですが、-Xmx512mのなかにpermの128mは含まれるのでしょうか? それとも、まったく別エリアにとられるものなのでしょうか? |
|
投稿日時: 2006-06-29 20:23
別エリアになります。
|
|
投稿日時: 2006-06-30 15:13
インギさん、どうもありがとうございます。
これに関連してなのですが、java VMのモニタ機能で jps,jstatといったツールがあって 以下環境でTomcatをモニタしようよしています。 Windows 2003 SP1 Tomcat 5.0.28 Tomcatが使うJava 1.4.0.28 モニタ機能 jva 1.5.0.6 (添付のツールで左記のVMを使用) startup.bat,tomcat5.exeをクリックして起動するとjpsにTomcatはでますし、 そのvmidをjstatに指定すると、モニタできます。 ところがTomcatをサービス登録して、jpsでみてもTomcatのvmidは表示され ません。 これは出ないものでしょうか? サービスのオプションとして -XX:+UsePerfData は指定しています。 |
|
投稿日時: 2006-07-01 16:44
前の投稿がわかりづらいので追加します。
startup.bat,tomcat5.exeより起動すると、jpsに起動したTomcatのvmidは表示され jstatでも見れます。 サービス登録して、net startコマンドで起動するとjpsにTomcatのvmidは表示されませんし、vmidにタスクマネージャーで確認したTomcatのプロセスIDを指定して、jstatを実行 しても"not found"になります。 |
1