JAVA Management Extensions (JMX) は、アプリケーションやサービス主導のネットワークを管理および監視するための強力なテクノロジです。 JMX を使用すると、WebSphere JVM の健全性をすばやく確認できます。
すでにエンタープライズ監視システムを使用している場合は、おそらくこれは必要ありません。
ただし、学習や面接での質問の場合は、JMX を有効にして、WebSphere JVM の重要なメトリクスを監視するのに役立ちます。
これの良い点は、追加のソフトウェアをインストールする必要がないことです。
実装 から始めましょう…
- DMGRコンソールにログインします
- 「サーバー」>>「サーバー・タイプ」>>「WebSphere アプリケーション・サーバー」をクリックします。
- JMX を使用して監視したいリストから JVM をクリックします。
- 「サーバーインフラストラクチャ」の下の「Java とプロセス管理」を展開し、 「プロセス定義」 をクリックします。
- 「追加プロパティ」の下の 「Java 仮想マシン」 をクリックします。
- 「 汎用 JVM 引数 」ボックスに次のように入力します。
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port= 9000
上の例では、 9000 と入力しました。競合を避けるために、一意のポート番号を入力する必要があります。
- 「変更を確認してノードと同期する」をクリックします。
JVM を再起動してポート番号をアクティブにすることが最善です。ポートを確認するには、netstat コマンドを使用できます。
[root@localhost server1]# netstat -anlp|grep 9000
tcp6 0 0 :::9000 :::* LISTEN 4575/java
[root@localhost server1]#
これで、JVM の JMX ポートがリッスンし、Jconsole から接続する準備ができていることがわかりました。
Jconsole は JDK パッケージ内にあるため、これがインストールされている場合は、java/bin フォルダーの下に表示されるはずです。あるいは、find コマンドを使用することもできます。
find / -name jconsole
jconsole を実行すると、リモート プロセスの詳細を入力するように求められます。ここでは、サーバーのホスト名と JVM ポート番号を指定する必要があります。
例: ローカルホスト:9000
数秒かかり、JMX ポートを使用して WebSphere JVM に接続します。
[概要] タブでは、ヒープ メモリの使用量、スレッド、クラス、CPU 使用量の詳細を確認できます。
他のタブを試して、必要なメトリクスを確認できます。 [メモリ] タブの下に、[GC を実行する] オプションが表示されます。さまざまな面で役立つことがわかります。
したがって、慣れるためにテスト環境で試してみてください。
次に、スレッド ダンプについて学習します。