AIX(p615)でJBossを動かす(その2)
JBossを実行する
起動コマンド
$JBOSS_HOME/bin/run.sh
停止コマンド
$JBOSS_HOME/bin/shutdown.sh -S
起動オプション
参考URL:
http://unix-study.com/unix/install/appserver/jboss.txt
(UTF-8で見てね。)
$JBOSS_HOME/bin/run.conf
を編集する。デフォルトはこんなかんじ。
if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000" fi
if文は、「JAVA_OPTS環境変数が無かったら」って解釈でよいのかな。
自分でJAVA_OPTSを設定しないとあるあけがなく、このif文の中の記述を変更すれば良いはずです。psで確認したところ、このオプションで実行されてました。
とあるSUNのページでは、
Application Server のみが稼動している 4G バイトの Solaris 9 システムでは、ヒープを -Xmx3584m -Xms3584m に変更すると、デフォルト値より 1440% 多いヒープを確保することができます。デフォルト設定の 256m は、Application Server を稼動させるために必要な最小値です。
と記載があります。これを参考値として、ヒープサイズは検討する必要があるかと。(もちろん、鵜呑みにはしないけど。)
ちなみに同じところで、
RMI 委任ガベージコレクション設定 -Dsun.rmi.dgc.server.gcInterval=3600000 は、他の変更箇所を補完するために、デフォルト設定から削除されました。このスイッチは、RMI オブジェクトの Java ガベージコレクションを延期して、1 時間に 1 度だけ実行されるようにします。このスイッチを削除することにより、RMI オブジェクトを 2 分間に 1 回ガベージコレクトする Java JRE のデフォルト動作に戻ります。この動作は、信頼性の向上とパフォーマンスの最適化に貢献することが、パフォーマンステストにより実証されています。
とあるため、gcIntervalについても考慮が必要かもしれません。
今回はメモリが結構あるため、そんなにGCを頻繁に行う必要もないので、デフォルトでも良いかもしれませんが。
Javaの起動オプションを考える
参考URL:
http://www.stackasterisk.jp/tech/java/javaCommand01_03.jsp
http://www.stackasterisk.jp/tech/java/javaCommand01_04.jsp
今回使いそうなオプションをあらかじめあげておこうかと。
<span style="font-style:italic;">参考URLから引用</span> ・-server java HotSpot Server VMを利用する場合に指定します。 ・-verbose:gc ガベッジコレクション関連情報が表示されます。 ・-Xloggc:ログファイル名 ガベッジコレクション情報をログファイルに出力します。このオプションは -verbose:gc を同時に指定します。 このログファイルはローカルファイルシステム内に保存することが推奨されます。 ネットワーク上のファイルを指定した場合、ネットワーク待ち時間によるJVMの速度低下が考えられます。 ・-Xms初期ヒープサイズ(バイト) 初期メモリ割り当て量を指定します。デフォルトは2MBです。 ここに指定可能な値は1MB以上で、1024バイトの倍数である必要があります。 また、数値の後にkを付加すればキロバイト、mを付加すればメガバイトを意味します。 ・-Xmx最大ヒープサイズ(バイト) 最大メモリ割り当て量を指定します。デフォルトは64MBです。 ここに指定可能な値は1MB以上で、1024バイトの倍数である必要があります。 また、数値の後にkを付加すればキロバイト、mを付加すればメガバイトを意味します。 ・-Xssスタックサイズ スレッドのスタックサイズを指定します。 デフォルトは512KBです。