| Oracle® Enterprise Manager Oracle Fusion Middleware Managementスタート・ガイド 11g リリース1(11.1.0.1) B61025-01  | 
  | 
![]() 戻る  | 
![]() 次へ  | 
この章では、JVM Diagnosticsを使用して実行できる各種のタスクについて説明します。この章の内容は次のとおりです。
JVM Diagnosticsマネージャのインストールが完了すると、機能を使い始めることができます。Enterprise Managerの「ミドルウェア」タブに移動して、WebLogicターゲットをクリックします。「WebLogicドメイン」ホーム・ページが表示されます。
JVM Diagnosticsの使用を開始するには、「WebLogicドメイン」ドロップダウン・メニューから「JVM診断」オプションを選択し、適切なオプションを選択します。
このページでは、選択したWebLogicドメインでJVMプールのサマリーおよび詳細情報を表示できます。ドメインの2つの期間におけるJVMプール・データも比較できます。このページを表示するには、「JVM診断」メニューから「サマリー」オプションをクリックします。
このページには「サマリー」および「詳細」のタブがあります。「サマリー」タブでは、サーバー状態のグラフや、「上位メソッド」および「上位リクエスト」のリストなどのJVMプールのサマリー詳細が表示されます。
「詳細」タブをクリックすると、「詳細」ページが表示されます。
サーバー状態のグラフや、「上位メソッド」、「上位リクエスト」、「上位DBStates」および「上位SQL」のリストなどを参照できます。表示されたデータは「メソッド名」、「JVM名」、「スレッド状態」、「DBState」などの様々な基準を指定してフィルタ処理できます。プールでの各JVMのサーバー状態のグラフも表示できます。
このページには、選択したドメインのすべてのJVMのリアルタイム・データが表示されます。このページを表示するには、「JVM診断」メニューから「スレッド」、続いて「リアルタイム分析」をクリックします。
このページの最初の表には、JVMおよび各JVMの現在のステータスのリストが表示されます。CPU使用率、メモリー、データベース・レスポンスを待機しているスレッドの数、同期ロックを待機しているスレッドの数や、その他の詳細などのJVMの現在のアクティビティが表示されます。
「JVM」列で「JVM」リンクをクリックすると、そのJVMのスレッドのリストが表示されます。2つのグラフも表示され、1番目のグラフはJVMのアクティブ・スレッド、2番目のグラフはJVMのヒープ・ステータスを示しています。
このページには特定のJVMのサマリーおよび詳細情報が表示されます。このページを表示するには、「WebLogicドメイン」ホーム・ページに移動し、左パネルからJVMを選択して、メニューから「JVM診断」、続いて「サマリー」オプションをクリックします。
このページには「サマリー」および「詳細」のタブがあります。「サマリー」タブでは、サーバー状態のグラフや、「上位メソッド」および「上位リクエスト」のグラフなどのJVMプールのサマリー詳細が表示されます。「詳細」タブをクリックすると、「詳細」ページが表示されます。サーバー状態のグラフや、「状態別のアクティブ・スレッド」、「上位メソッド」、「上位リクエスト」、「上位DBStates」および「上位SQL」のリストなどを参照できます。表示されたデータは「メソッド名」、「JVM名」、「スレッド状態」、「DBState」などの様々な基準を指定してフィルタ処理できます。
このページには選択したJVMのリアルタイム・データが表示されます。このページを表示するには、「WebLogicドメイン」ホーム・ページに移動し、左パネルからJVMを選択して「JVM診断」をクリックします。「JVM診断」メニューから、「スレッド」、続いて「リアルタイム分析」をクリックします。
このページには次の項目が表示されます。
JVMスレッド: この表にはJVMで実行中のすべてのスレッドの詳細情報が表示されます。「アクティブ・スレッドのみ」チェックボックスを選択すると、JVMで実行中のアクティブ・スレッドのみが表示されます。「アクティブ・スレッドのトレース」をクリックすると、短期間に非常に高い頻度ですべてのアクティブ・スレッドを監視できます。「DB待機」状態のスレッドについては、DBセッションのページにドリルダウンできます。「アイドル・スレッド・ルールの編集」をクリックすると、アイドル・スレッド・ルールのページにドリルダウンできます。このページでは、アイドル・スレッド・ルールを作成してスレッドをルールに追加できます。ルールのスレッドの部分はすべてアイドル・スレッドとしてマークされ、監視されません。
「スレッド状態」グラフ: このグラフはスレッドをその状態に基づいてグループ化します。たとえば、ネットワーク待機状態のスレッド、実行可能状態のスレッド、オブジェクト待機状態などがグラフで表示されます。
スレッド・スタック: 「JVMスレッド」表でスレッド名をクリックすると、スレッドのコール・スタックが表示されます。
メソッド・ローカル: メソッド名をクリックすると、右下のパネルにメソッド・ローカルが表示されます。
オブジェクトの詳細: オブジェクト名をクリックすると、オブジェクトの詳細が表示されます。
このページには、JVMヒープのすべてのオブジェクトのリアルタイム編成が表示されます。このページに移動するには、「ミドルウェア」ページで「JVM診断」リンクをクリックします。左パネルで「すべて」をクリックすると、JVMヒープのすべてのオブジェクトのリアルタイム・メモリー分析が実行されます。
この項では「設定」メニューのページについて説明します。このページにアクセスするには、「JVM診断」メニューから「設定」オプションをクリックします。
このページは、コンソール・パラメータの設定と消失パスワードのリセットに使用されます。このページでは次のパラメータを指定できます。
コンソール・ログ・レベル、階層間ログ・レベル: コンソール・ログ・メッセージの冗長性。Oracle Supportでアドバイスされた場合のみ、値を増やします。
エージェント・リクエスト・タイムアウト、エージェント・ループ・リクエスト・タイムアウト: 監視されているJVMが極端にビジーで、コンソールがレスポンスを待機してタイムアウトおよび切断する場合に、値を増やします。
Javaタブのログインが必要: 他(非設定タブ)へのアクセスを制限する場合にこのチェックボックスを有効化します。ユーザーは(「ユーザー」画面で作成される)有効なアカウントによってログインする必要があり、すべての非設定画面へのアクセス権があります。設定画面はADMINユーザーのみがアクセスできます。
監視有効化: このチェックボックスが有効になっていると、選択したプールに属すJVMがアクティブ・リクエストに対して定期的にポーリングされます。このデータはNOC上で、最後の90秒/24時間のグラフで使用できます。
電子メール・アラート: しきい値違反に基づく電子メール・アラート(監視の有効化が必要)。
アラートのSNMPホスト: アラートが送信されるSNMPホスト。
「保存」をクリックして新規パラメータを設定するか、「リセット」をクリックして既存パラメータを使用します。
一連のJVMをJVMプールにグループ化することで、すべての関連JVMにおける監視情報を単一のビューで提供できます。この表にはシステム内のすべてのJVMプールが表示されます。すべての使用可能プールの表示、既存プールの削除または新規プールの追加ができます。「デフォルト」および「その他」のプールは削除できません。ユーザーが定義したプールは削除できます。
各行には、ポーリングがプールに対して現在有効かどうか、ポーリング間隔、および電子メール通知の受信者が表示されます。「ポーリング有効」フラグがYに設定されていると、このプールに属すJVMがアクティブ・リクエストに対してポーリング間隔に基づき定期的にポーリングされます。「編集」アイコンをクリックしてJVMプールを編集するか、「新規プール」をクリックして新規JVMプールを追加します。
JVMプールを更新するには、「JVMプールの表示」ページで「編集」アイコンをクリックします。「JVMプールの編集」ページでは、ポーリング間隔の指定、このプールの監視の有効化、および指定リストへの電子メール・アラートの送信を実行できます。
しきい値違反はR(赤)またはY(黄)の「レベル」になります。「メトリック」は監視されている属性で、「しきい値」はメトリックの比較の対象になる値です。違反は、最小サンプル数が監視された後にしきい値を超えると発生します。しきい値の単位は、マシンCPU(CPU)、JVM CPU(CPU)のCPU使用率(%)、ヒープのヒープ使用率(%)、その他の該当の状態のスレッド数です。50%を超えるサンプルについてDBで3から5個のスレッドがアクティブの場合はDBのアンバー(Y)アラートが発生し、50%を超えるサンプルについてDB待機状態で6個以上のスレッドがアクティブの場合はDBのレッド・アラートが発生します。
アクションURLは、しきい値違反が発生したときに呼び出されるURLです。これには内部URLと外部URLが含まれます。アクションURLはリモート・システム上の任意の有効なURLである可能性があります。このURLは、しきい値違反に反応して特定のスレッド、すべてのアクティブ・スレッド、またはダンプ・ヒープのトレースに使用できます。
アクションURLはブラウザから呼び出されるため、有効なURLである必要があります。未指定の場合、traceThreadおよびheapdumpのデフォルト・パラメータがURLに追加されます。アクションURLが現在のコンソール・ホストとは異なるホストを指定する場合、「コンソール設定」ページに移動して「Javaタブのログインが必要」チェックボックスの選択を解除する必要があります。
スレッドのトレースに対するサンプルURLテンプレートは次のとおりです。
http://localhost/jvmTraceActive.jsp?traceThread=allactive&JVM_THREAD_ID=&JVM_ID=1&JVM_MACHINE=machine_name&JVM_PORT=8080&pollInterval=50&pollDuration=10&samplesfilename=traceactive&detailsfile=on
各要素の説明は次のとおりです。
traceThreadはトレースされるスレッドの名前です。すべてのアクティブ・スレッドをトレースする場合、値をtraceThread=allactiveのように指定します。これは、「すべてのスレッドの表示」ページの「スレッド」列の値です。
JVM_THREAD_IDはトレースされるスレッドのIDです。すべてのアクティブ・スレッドをトレースする場合、またはtraceThread=allactiveである場合、JVM_THREAD_IDパラメータは空白である必要があります。これは、「すべてのスレッドの表示」ページのOS PID列で指定される値です。
JVM_ID、JVM_MACHINE、JVM_PORTは、トレースされるスレッドが実行中のJVMエージェントのID、マシン名、およびポート番号です。たとえば、「すべてのスレッドの表示」ページの最上部に表示されるテキストがName: machine_name:8080 ID: 1: Linux-2.6.9-55.0.0.0.2.EL: Sun Microsystems Inc.: 1.6.0_07の場合、次のようになります。
machine_nameはJVM_MACHINEです。
8080はJVM_PORTです。
1はJVM_IDです(JVM_IDパラメータがURLで指定されていない場合、コンソールで自動的に付加されます)。
PollIntervalは連続するサンプル間の時間間隔(ミリ秒)です。デフォルト値は50です。
PollDurationはトレースの期間(秒)です。デフォルト値は10です。
Samplesfilenameは、コンソール・マシンで作成されたトレース・サンプル・ファイル名の接頭辞です。デフォルト値はtraceactiveで、作成される各トレース・ファイルの接尾辞として一意の識別子が追加されます。
Detailsfileは、状態以外のサンプル・スレッド・スタックです。完全なスレッドの詳細が必要な場合、この値はOnに設定する必要があります。デフォルトはOnです。
ヒープ・ダンプのサンプルURLは次のとおりです。
http://localhost/jvmHeapDump.jsp?JVM_ID=1&JVM_MACHINE=machine_name&JVM_PORT=8080&JVM_DUMP_FILE=heapdump <http://localhost/jvmHeapDump.jsp?JVM_ID=1&JVM_MACHINE=machine_name&JVM_PORT=8080&JVM_DUMP_FILE=heapdump>
次のパラメータがヒープ・ダンプのURLに必要です。
JVM_ID、JVM_MACHINEおよびJVM_PORTは、スレッドのトレースのテンプレートに指定されたものと同じパラメータです。
JVM_DUMP_FILEは、エージェント上のヒープ・ダンプ・ファイル名の接頭辞です。各ヒープ・ダンプ・ファイルの接尾辞として一意の識別子が追加されます。
この画面を使用すると、現在、監視中/プロファイリング中のデータベースに関する情報の表示や、同じデータベースに対する新規データベースの追加を行うことができます。「編集」アイコンをクリックして既存データベースを編集するか、「新規データベースの登録」をクリックして新規データベースを登録します。
このページは、コンソールに接続されているすべてのJVMの一覧を示します。登録されているすべてのJVM DiagnosticsマネージャがIPアドレス、ポート番号、ビルド・バージョンおよびステータスとともにこのページに一覧表示されます。「編集」アイコンを使用してJVMパラメータを編集したり、コンソールにもう接続されない古いJVMを削除することができます。
「JVM情報の編集」ページでは、JVMの別のプールへの割当て、JVMのログ・レベルの変更(Supportで推奨されている場合)、またはヒープ・スナップショットがダンプされる一時ディレクトリの変更を実行できます。
ポーリングを有効にしてJVMプールを一度更新すると、そのプール内のJVMを監視できるようになります。監視を開始するには、上にある「監視の開始」リンクをクリックします。この操作は「コンソール設定」画面でも可能です。プール・プロパティを更新することで、プールの監視の有効化または無効化や、ポーリング間隔の変更ができます。
スレッドをアイドル・スレッド・ルールに追加すると、そのスレッドをアイドルとしてマークできます。アイドルとしてマークされているスレッドはすべて監視されません。「新規ルール」をクリックすると、新規のアイドル・スレッド・ルールを作成できます。次のような「ルール・タイプ」があります。
監視(ロック待機中): ロックされているすべてのスレッドを無視する場合は、このタイプを選択します。
現在のコール: 選択した関数へのコールを生成しているすべてのスレッドを無視する場合は、このタイプを選択します。
「ルール値」にはクラス名、メソッドが含まれ、クラス+メソッドが次に続く必要があります。「現在のコール」の例はweblogic.socket.PosixSocketMuxer->processSocketsです。「監視(ロック待機中)」の例はweblogic.socket.PosixSocketMuxer$1です。
アイドル・スレッド・ルールで指定された基準に一致するスレッドはすべて、「アクティブ・スレッドの表示」画面に表示されません。
このページは次の操作に使用できます。
実行していたトレースからトレース・ファイルを削除します。
別のコンソールからトレース・ファイルをロードします。トレース・ファイルをこの画面で表示するには、ファイルをjamserv/traceディレクトリに移動する必要があります。
このページでは、Javaエージェント、JVM Diagnosticsマネージャ、データベース・エージェント、ロード・ヒープなどの様々なバイナリを手動でダウンロードし、それをデプロイすることができます。
この項では「保存済ヒープ・スナップショット」メニュー・オプションのページについて説明します。このページにアクセスするには、「JVM診断」メニューから「保存済ヒープ・スナップショット」オプションをクリックします。
このページは、リポジトリにロードされているすべてのヒープの一覧を示します。JVM名、ベンダー、ヒープ・サイズ、ヒープ使用量などのヒープの詳細を参照できます。%列のリンクをクリックすると、特定のヒープにドリルダウンしてヒープのメモリー使用量を表示できます。「編集」アイコンをクリックするとヒープ・スナップショット情報を編集できます。
このページでは、ヒープ使用量のサマリーがヒープの各オブジェクト・タイプ別に示されます。オブジェクトのタイプ(「Klass」、「配列」、「インスタンス」)、各ヒープのオブジェクトの合計数および合計サイズ。
このページには、オブジェクト数とアクセス可能なヒープ・メモリー量がルートの各クラス別に表示されます。ルートの名前、ルートからアクセス可能なオブジェクトの合計数、およびルートからアクセス可能な調整済メモリー(メモリー・リークのホットスポットの識別に使用されます)が表示されます。
「ルート」列でリンクをクリックすると、ヒープで最もアクセス可能なオブジェクトが表示されます。
比較対象のヒープを選択した後、このページにアクセスすると、「サマリーの表示」オプションを使用できます。このオプションをクリックすると、ヒープのボトムアップ分析が行われます。
このページにはルートからアクセス可能な上位40のオブジェクトが表示されます。オブジェクトは、オブジェクトからアクセス可能な昇順メモリー(または、2つのヒープの比較時にアクセス可能な調整済メモリーの差異)によって、降順でソートされます。オブジェクトの内部ルート識別子、オブジェクトのタイプ、署名、オブジェクトからアクセス可能な子の数、そしてオブジェクトの合計および調整済メモリーが表示されます。「シグネチャ」リンクをクリックして「ヒープ・オブジェクト情報」ページにドリルダウンします。2つのヒープの比較時にこのページにアクセスすると、オブジェクトのタイプ、各タイプのオブジェクトの数、オブジェクトからアクセス可能な子の数、このオブジェクトからアクセス可能な調整済メモリー、およびデルタが表示されます。「デルタ調整」列には、これらのオブジェクトからアクセス可能な合計メモリーの差異が表示されます。「デルタ調整」リンクをクリックすると、2つのヒープのオブジェクトが比較されます。指定したヒープで、指定した時間/署名のオブジェクトが複数存在する場合、この操作では比較対象のオブジェクトを各ヒープから選択するための選択ページが表示されます。
| 
 注意: 2番目のヒープに、1番目のヒープと同じタイプおよび署名の対応するオブジェクトがない場合、2番目のヒープのこれらの列は空白になります。 | 
このページにはヒープ内のオブジェクトに関する情報が表示されます。次の項目が表示されます。
ヒープ・オブジェクト情報: この表には、ヒープ・スナップショット内の特定のオブジェクトに関する情報が表示されます。
オブジェクト情報: この表には、すべてのオブジェクトの子に関する情報(フィールドや配列エントリなど)が表示されます。署名をクリックすると子を確認できます。
オブジェクトの子: この表には、すべてのオブジェクトの親(このオブジェクトにアクセス可能な場所からの親)に関する情報が表示されます。署名をクリックすると親を確認できます。
ルート: この表には、このオブジェクトに直接アクセス可能なあらゆるルートが表示されます。
この項では「JDBC相関」メニュー・オプションのページについて説明します。6.7項「データベース・エージェントのデプロイ」の説明に従ってデータベース・エージェントをデプロイおよび登録した後、このオプションを使用して登録済データベース上のアクティビティを表示できます。
このページにアクセスするには、「JVM診断」メニューから「JDBC相関」オプションをクリックします。次のページを使用できます。
DBアクティビティ: このページには、コンソールで監視されているデータベースのサマリーが表示されます。「詳細の表示」リンクをクリックすると、データベース・セッションの詳細が表示されます。
DB待機: このページには、選択したデータベースのセッションの詳細が表示されます。「イベント」または「アイドル・イベント」リンクをクリックすると、「DB待機」ページにドリルダウンできます。
現在のIO: このページには、選択したデータベース上の現在のIOアクティビティが表示されます。
現在のCPU: このページには、選択したデータベース上の現在のCPUアクティビティが表示されます。
現在のロック: このページには、ロックを保留中および待機中のセッションに関するサマリーが示されます。
実行計画: このページには、SQL文の実行計画が表示されます。「計画の取得」をクリックすると、実行計画と表統計が表示されます。
セッションの検索: この画面には、ロックを待機中のデータベース・セッションの属性および詳細が示されます。「スレッド情報」リンクをクリックすると、画面に対するJava詳細を取得できます。
JVMスレッドをトレースするには次の方法があります。
「JVM診断」>「スレッド」>「現在のトレース」の順にクリックします。
「スレッド」>「リアルタイム分析」の順にクリックします。「リアルタイム分析」ページで、「アクティブ・スレッドのトレース」をクリックして「アクティブ・スレッドのトレース」ページに移動します。
このページではすべてのアクティブ・スレッドをトレースできます。トレース中に、ターゲット・スレッドの状態およびスタックが、目的の期間に設定した時間間隔でサンプリングされます。このページにアクセスするには、JVMのスレッドの「リアルタイム分析」ページで「アクティブ・スレッドのトレース」をクリックします。詳細は、10.5項「JVMのスレッドの「リアルタイム分析」ページの表示」を参照してください。
トレースを開始する前に次のパラメータを指定できます。
ポーリング間隔: 連続するサンプル間の時間間隔。
期間: トレースの期間。
スレッドのトレースの詳細: 状態以外にトレースされるサンプル・スレッド・スタック。
スレッドの変更の試行: スレッド・スタックがサンプル中に変更される場合(これはスレッドがCPUを使用中に発生する可能性があります)、JVM Diagnosticsではこのサンプルについてそのスレッドがスキップされます。不足しているサンプルを見つけた場合、この機能を使用して変更されたスタックを再トレースします。
ネットワーク待機を含む: アイドル・ネットワーク待機をトレースに含めるかどうかを示します。
すべてのスレッドのトレース: このチェックボックスを選択すると、アイドルおよびアクティブの両方のスレッドがトレースに含まれます。
トレースの中断の許可: トレース・プロセスの中断が許可されます。
トレースが正常に完了したら、「保存したトレースに移動」をクリックしてトレース結果を表示します。
このページにはトレースの状態、メソッドおよびスタック情報が表示されます。このページにアクセスするには、「アクティブ・スレッドのトレース」ページで「保存したトレースに移動」をクリックします。
JVMトレース結果: このセクションには、トレースが実行された時間および場所に関する情報が示されます。また、トレースの結果に適用されているフィルタもすべて表示されます。
リソース使用率: このセクションには、CPU使用率、ヒープ使用量、およびトレース中のガベージ・コレクションなどのシステム・アクティビティが表示されます。
上位の状態: トレースの期間に対する「JVM状態分析」グラフが表示されます。Y軸は、対象の時間にその状態にあったスレッドの数を示しています。
上位メソッド: トレース中に様々なメソッドで費やされた相対時間が表示されます。
状態別のスレッド: この表のスレッドでは、各メソッドの様々な状態で費やされた相対時間が分類されます。「スレッド」リンクには特定のスレッドのみに対するフィルタが表示されます。
状態別のリクエスト: この表には、各リクエストの各状態におけるサンプル数が表示されます。
状態別のメソッド: この表では、各メソッドの様々な状態で費やされた相対時間が分類されます。「メソッド」リンクではコール・スタックが表示され、その中にはメソッドが含まれます。
この表には、「アクティブ・スレッドのトレース」オプションを使用してリポジトリにロードされているすべてのトレースの一覧が表示されます。「スレッド」列は、すべてのアクティブ・スレッドまたは特定のスレッドがトレースされているかどうかを示します。トレース中に取得されたサンプルの数が表示されます。「サンプル」リンクをクリックすると、「トレース・サマリー」ページにドリルダウンできます。「編集」アイコンをクリックすると、一連のサンプルのトレース情報を変更できます。
このページにはトレース内の特定のスレッドの状態、メソッドおよびスタック情報が表示されます。このページにアクセスするには、「トレース・サマリー」ページの「状態別のスレッド」列で「スレッド」リンクをクリックします。
JVMトレース結果: このセクションには、トレースが実行された時間および場所に関する情報が示されます。また、トレースの結果に適用されているフィルタもすべて表示されます。
リソース使用率: このセクションには、CPU使用率、ヒープ使用量、およびトレース中のガベージ・コレクションなどのシステム・アクティビティが表示されます。
上位の状態: トレースの期間に対する「JVM状態分析」グラフが表示されます。Y軸は、対象の時間にその状態にあったスレッドの数を示しています。
上位メソッド: トレース中に様々なメソッドで費やされた相対時間が表示されます。
状態別のスレッド: この表では、各メソッドの様々な状態で費やされた相対時間が分類されます。「スレッド」リンクには特定のスレッドのみに対するフィルタが表示されます。
状態別のリクエスト: この表には、各リクエストの各状態におけるサンプル数が表示されます。
状態別のメソッド: この表では、各メソッドの様々な状態で費やされた相対時間が分類されます。「メソッド」リンクではコール・スタックが表示され、その中にはメソッドが含まれます。