JBossのヒープメモリサイズを調整する

Eclipse + JBossで開発を行っているが、OutOfMemoryErrorが発生してしまうことがある。
JBossを起動し直すと改善する場合もあるが、
根本的に解決するにはJBossヒープメモリのサイズを変更する。

現在のメモリサイズをコンソール画面で確認する


まずは現在のメモリサイズの確認。
JBossを起動して
http://localhost:8080/web-console/index.html
にアクセスすると、以下のような画面が表示される:



画面左下の"Max Memory"となっているのが最大メモリサイズ。
Java VMのデフォルト値が64MBなので"63 MB"と表示されている。
※ なぜ1MB少ないのかは不明(要調査)

ヒープメモリのサイズを変更する


Eclipseからlombozプラグイン経由で起動すると、VMのデフォルトのヒープメモリサイズ(64MB)が適用される。
これを変更するには、以下のように行う:
EclipseVM引数を指定する
Eclipseで、

メニューバーの 実行 → デバッグ → デバッグダイアログ起動
構成でJBossを選択
"引き数"タブの"VM 引き数"欄に
-Xmx128M
などと入力してデバッグボタン押下(下図参照)



起動後にコンソール画面で確認すると"127 MB"となっている(やはり1MB少ない...)。


※ これを設定してもlomboz経由の起動を再度行うと設定が無効になり、
適用したVM引数もクリアされてしまう。
それならばJBossを起動すればいいのかと思ったのだが、、、

JBossのrun.batファイルを編集する ※ lomboz経由だと反映されない?


一応、以下のようにすればJBoss起動時のヒープメモリサイズを変更できる:

<JBoss_Home>/bin/run.bat内の、以下の記述を探す:

rem Sun JVM memory allocation pool parameters. Uncomment and modify as appropriate.
rem set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m

この2行目のコメントアウトを解除し、

set JAVA_OPTS=%JAVA_OPTS% -Xms128M -Xmx256M

のように変更し、保存する。
※ -Xmsには起動時のメモリサイズ、-Xmxには最大メモリサイズを指定する。

ちなみに、Unixの場合は同じフォルダにあるrun.confを編集すればよいようだ。

----------

結局


Eclipseと連携させずにJBossを動かすときはこれでいいと思われるが、
lomboz経由でJBossを起動するとやはりデフォルトの設定が適用されてしまう。

EclipseVM引数を指定して起動すれば一応何とかなるのでこれ以降はよく調べてないのだが、
Eclipse + lombozのバージョンの問題とかかなぁ。
lombozの後継といわれるWTPならVM引数の指定もできるのかなぁ。
いずれ調査する。

ヒープメモリサイズを検討する


最適なヒープメモリサイズはどれくらいかということについては、以下のページが参考になりそう:
ガベージコレクタの仕組みを理解する

----------

ぼくは今のところ単体(開発)環境でしかJBossを使っていないので、
それほどシビアにパフォーマンスチューニングする必要はないのだが
(基本的にはデフォルトの64Mで、必要なら128Mに設定する程度)、
このあたりもいずれ本格的に調査したい。


コメントの投稿

非公開コメント

ブログ内検索
カテゴリー
最近の記事
カレンダー
10 | 2011/11 | 12
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 - - -
月別アーカイブ
feedmeter & あわせて読みたい
フィードメーター - あるシステム屋によるJava開発の記録
あわせて読みたいブログパーツ
Yahoo logoole
プロフィール

Author:kamii
ピタゴラスイッチ好きなシステム開発屋@二児の父です。

メールフォーム

名前:
メール:
件名:
本文:

カウンター
checker
ページランク


ブログチャート
FoxMeter 3
Firefox3 Meter
Amazon商品一覧【新着順】
現在時刻
全エントリ表示

全てのエントリを表示する

RSSフィード
リンク
By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

ブロとも申請フォーム

この人とブロともになる