Sun Java Solaris コミュニティー My SDN アカウント SDN に参加
 

Java VisualVM


Java VisualVM ドキュメントの索引に戻る

スナップショットの操作

Java VisualVM では、アプリケーションデータのスナップショットを取り、そのスナップショットをローカルシステムに保存できます。スナップショットを使ってアプリケーションに関するデータを取得すると、保存されたスナップショットをいつでも開いて表示できるようになるので、便利です。スナップショットを表示する際にターゲットアプリケーションが実行されている必要はありません。また、スナップショットをほかのユーザーに送信し、そのユーザーがスナップショットを表示することもできます。

スナップショットの種類

スナップショットは基本的に、ある特定の時刻に取得されたデータのアーカイブであり、後日 Java VisualVM で開くことができます。ユーザーが取得および保存できるスナップショットの種類は、次のとおりです。

プロファイラスナップショット

プロファイラスナップショットでは、その時点におけるプロファイルデータが取得されます。プロファイラスナップショットの取得は、プロファイルセッション中であればいつでも行えます。プロファイラスナップショットを取ると、そのスナップショットを表すノードが「Applications」ウィンドウのアプリケーションノードの下に表示されるほか、一時的なスナップショットファイルがローカルシステムの Java VisualVM userdir 内に書き込まれます。

Java VisualVM で取得可能なプロファイラスナップショットの種類は次のとおりです

  • メモリースナップショット: メモリースナップショットでは、割り当て済みオブジェクトに関するプロファイルデータが取得されます。メモリースナップショットを取ることができるのは、プロファイラを使ってメモリー使用量を解析しているときです。
  • CPU スナップショット: CPU スナップショットでは、アプリケーションのパフォーマンスに関するデータが取得されます。CPU スナップショットを取ることができるのは、プロファイラを使ってアプリケーションのパフォーマンスを解析しているときです。

メモリープロファイリングスナップショットのスクリーンショット

メモリープロファイリングスナップショットのスクリーンショット

CPU プロファイリングスナップショットのスクリーンショット

CPU プロファイリングスナップショットのスクリーンショット

プロファイラスナップショットをあとで表示する必要がある場合には、スナップショットを明示的にローカルシステムに保存する必要がありますが、その保存方法には、1 つのプロファイラスナップショットとして保存する方法と、アプリケーションスナップショット内にアーカイブする方法があります。

プロファイラスナップショットの取得

プロファイラスナップショットの取得はプロファイルセッション中に行えます。メモリースナップショットまたは CPU スナップショットを取ると、そのスナップショットが、メインウィンドウのアプリケーションのタブ内で開かれます。

スナップショットを取るには次のいずれかを行います。

  • 「Profiler」タブで「Take Snapshot of Collected Results」ボタンをクリックします
  • アプリケーションノードを右クリックし、「Profiler Snapshot」を選択します。

スナップショットのツールバーでは次のことが行えます。

  • Save Snapshot to Custom File: スナップショットをスナップショットファイル (.nps) としてローカルシステムに保存する場合にクリックします。
  • Save current view to image: スナップショットをイメージ (.png) としてローカルシステムに保存する場合にクリックします。
  • Find in Results: プロファイル結果内で検索用語を検索する場合にクリックします。
  • Find next occurence: 検索用語の次の出現箇所を検索する場合にクリックします。
  • Find previous occurence: 検索用語の前の出現箇所を検索する場合にクリックします

アプリケーションスナップショット

アプリケーションスナップショットでは、スナップショットを取った時点における、アプリケーションの収集されたヒープダンプ、スレッドダンプ、およびプロファイラスナップショットが取得されます。 アプリケーションスナップショットでは、Java Virtual Machine (JVM) に関する一般情報も取得されます。

アプリケーションスナップショットを取るには、「Applications」ウィンドウでアプリケーションノードを右クリックし、ポップアップメニューから「Application Snapshot」を選択します。アプリケーションスナップショットは Java VisualVM セッション間で持続されます。

アプリケーションスナップショットを取ると、次のことが起こります。

  • アプリケーションスナップショットノードが、「Applications」ウィンドウ内の「Snapshots」ノードの下に表示されます。
  • Java VisualVM userdir 内の repository/snapshots フォルダ配下のフォルダに、アプリケーションデータが保存されます。

アプリケーションスナップショットは、「Applications」ウィンドウの「Snapshots」ノードの下に一覧表示されます。アプリケーションスナップショットノードを展開すれば、そのスナップショットの内容を表示できます。

アプリケーションスナップショットが表示された「Applications」ウィンドウのスクリーンショット

アプリケーションスナップショットの取得後にその内容を表示および変更するには、「Applications」ウィンドウ内でそのアプリケーションスナップショットのノードを展開します。アプリケーションスナップショットノードを右クリックするかアプリケーションスナップショットノードの下に表示された任意の項目を右クリックして開かれるポップアップメニューでは、その項目のオープン、保存、名前変更、および削除を選択できます。その後、そのアプリケーションスナップショットを単一のアプリケーションスナップショットアーカイブ (.apps) としてローカルシステムに保存できます。

アプリケーションスナップショットの「Overview」タブでは、JVM ソフトウェアに関するデータが取得されます。

アプリケーションスナップショットの「Overview」タブのスクリーンショット

Java VisualVM ドキュメントの索引に戻る