- PR -

java実行時のメモリサイズ指定

1
投稿者投稿内容
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 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は含まれるのでしょうか?
それとも、まったく別エリアにとられるものなのでしょうか?






山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-06-29 20:23
別エリアになります。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 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
は指定しています。

progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)