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です。