JBoss 5.0.0 Beta1 を i5/OS で実行 (64bit/32bit)

JBoss 5.0 のベータ版が出てきたので、とりあえず例によって i5/OS 上で稼動させてみました。

Java 5.0 で実行しましたが、今回は 64bit/32bit の両方の Java VM での実行です。
環境変数の指定一つだけで簡単に切り替えて実行できるのはやはり i5/OS ならではですが、問題判別の容易性や使用可能メモリー、もしくは消費メモリーなどの観点でいろいろ違いがあります。


64 bit Native JVM

まずは i5/OS 上の 64 bit ネイティブでの Java VM 上での稼動です。

QShell での実行

以下のコマンドを実行後、QShell を実行します。

ADDENVVAR ENVVAR(JAVA_HOME) VALUE(‘/QIBM/ProdData/Java400/jdk15’)

QShell の画面で JBoss の bin ディレクトリから run.sh を実行します。

i5/OS (OS/400) V5R4 Power PC 上の Java VM であることが確認できます。

稼動状況の表示

WRKACTJOB コマンドの実行画面でのオプション 12 か オプション 5/メニュー 20 で「スレッドの処理」画面を表示すると、スレッド毎の状況をリアルタイムで表示させることができます。(F5 キーを押した時点での最新)

現在実行中のものは "RUN" と「状況」に表示されており、並行処理をしているような場合には複数の "RUN" が存在します。

オプション 10 を選択することにより、各スレッド個別のプログラム (クラス) の実行状況 (呼び出しスタック) を見ることができます。

上の画面の続きで、オプション 10 「呼び出しスタックの表示」の例です。

前述したように F5 キーを押すと最新のスタック状況が表示されますので、リアルタイムにどのクラスのどんなメソッドが使われているかがわかります。
これってかなり凄いことなんですよ。i5/OS しか知らない人はわからないかもしれませんが ......

F21 キーを押すと、ビューが変わります。

ちなみに左側の J とか L とかの"タイプ"については、オンラインヘルプを見ると以下のように書いてあります。

呼び出しタイプの簡略エンコード,あるいは要求処理プログラムまたはプロシージャーのレベルの簡略エンコード。考えられる値とその意味は次の通りです。

32 bit Power PC JVM

32 bit 版の IBM 製 Java VM 上で実行してみましょう。

QShell での実行

以下のコマンドを実行後、Qshell を実行します。

ADDENVVAR ENVVAR(JAVA_HOME) VALUE(‘/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit’)

JBoss の起動方法はまったく同じです。

"IBM J9 VM"という表示で、この JBoss が実行されている Java VM が i5/OS ネイティブではなく AIX と共通の Java VM であることがわかります。

稼動状況の表示

IBM 製 Java VM でも、i5/OS ネイティブの Java VM と同様にして各スレッドの状況をリアルタイムに見ることができますが ......

i5/OS ネイティブの Java VM のように、リアルタイムに現在どんなクラスのどんなメソッドが使用されているかなどということはわかりません。

上の画面で "RUN" になっているスレッド "00000088" にオプション 10 を選択/実行した画面です。

左側の "P"は "PASE ユーザーコード"を示します。
要は PASE のライブラリーコードが実行されていることしかわかりません。

F21 キーを押すとこんなビューになります。

64bit と 32 bit との違い

トラッカビリティという意味では i5/OS 64bit ネイティブ Java VM の方が圧倒的にいいのですが、IBM 製 J9 Java VM は今回たまたま 64bit ではなく 32bit である故にメモリーの使用量という観点からは効率がいい面があります。

アドレッシングに使用できるビットが倍になるため、アドレス可能空間という意味では 64bit の方が大きく、それはいいことなのですが、各オブジェクトをアドレスするためにも倍のアドレッシングが必要になります。もともと 32bit で稼動したらメモリー空間が足りなくてしょうがない、というようなアプリケーションは現時点ではそう多くはないのかもしれません。

i5/OS の場合、どっちの Java VM で実行するにしても (上の例で見たように) 環境変数の設定だけで切り替えることができます。
あまり難しく考えずに、双方で実行してみて具合のいい方を取ればいい、というのも現実的な考え方かもしれませんね。

ちなみに、消費メモリー/アドレス可能なフリー・メモリー、については、コンソールから表示させることができます。

こちらが 64bit i5/OS ネイティブの Java VM で実行した場合の表示で、

こちらが 32bit J9 Java VM で実行中の表示です。

[Top Pageに戻る]

[PR] | 貴金属 買取ハウスクリーニング韓国食材転職サイトSEOアクセス解析ハウスメーカーレンタルオフィスSEO対策消費者金融不動産担保ローン時計車 買取ハワイ挙式アスクル転職生命保険テンプレート沖縄旅行動画免許合宿二輪引越し消費者金融税理士ゴルフ会員権留学レーシックマッサージFX投資信託くりっく365アフィリエイト育毛剤FXホームページ制作デイトレードFXタイバンコクハワイ レンタカーベスト ハワイ ホテル レーツバリ島年末年始ハワイHawaii hotelsHawaii Activitiesbhhrホノルルマラソン
【運営会社「パラダイムシフト」サービス】 ハワイ現地オプショナルツアーリラックマ) - ビジネスクラス航空券 - 格安航空券(1) - 格安航空券(2) - 海外ホテル - 韓国旅行
無料ホームページ作成 - レンタルサーバー - 携帯ホームページ - ブログ - ホテル 予約 - タイムシェア - ヴィラ - ハワイ コンドミニアム - バリ島 ホテル - ハワイ 不動産 - プーケット ホテル