YourKit プラグインを使用したプロファイリング

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

YourKit プロファイラーを使用したプロファイリングを容易にする Confluence 2.2 以降用のプラグインがあります。メモリや CPU スナップショットを生成するためにライセンスは必要ありませんが、結果を分析するために少なくとも評価ライセンスが必要となります。

このページの内容:

JVM で YourKit を構成する

お使いのプラットフォーム向けの YourKit 6.0 をダウンロードし、インストール手順に従ってインストールしてください。
(warning)注: YourKit バージョン 7 には、Confluence yourkit プラグインとの互換性はありません。

次の説明は、Oracle (以前の Sun) JDK を使用した Confluence および Tomcat のインストールに適用されます。これらは、他のアプリケーション サーバーや JVM では簡単に適用することができます。詳細は YourKit ドキュメントを参照してください。

Windows の構成

Windows では、YourKit インストール ディレクトリの下の bin/win32/ ディレクトリの PATH 環境変数を追加します。たとえば、[コントロール パネル] > [システム] > [詳細] > [環境変数] 経由で、PATH に "C:\Program Files\YourKit Java Profiler 6.0.12\bin\win32" を追加することができます。

Confluence の JVM が YourKit エージェントを使用するように設定するには、Confluence のアプリケーション ディレクトリの bin/setenv.bat ファイルの CATALINA_OPTS にパラメーターを追加する必要があります。このファイルは Tomcat の startup パラメーターを制御するため、変更後に再起動する必要があります。

末尾に、次のような 'agentlib' パラメーターを追加します。

set CATALINA_OPTS=%CATALINA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:+UseG1GC -agentlib:yjpagent

Linux/Mac OS X の設定

Unix ベースのシステムでは、次のように、ライブラリパス環境変数にインストール ディレクトリが含まれます。

  • Mac の場合: export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/path/to/yourKitAgent
  • 他の Unix ベースのシステムの場合: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/yourKitAgent

一般に、JDK を設定するには、agentlib パラメーターを追加します。

java -agentlib:yjpagent ...

これを、Tomcat の bin/setenv.sh に追加できます。例:

CATALINA_OPTS="$CATALINA_OPTS -Djava.awt.headless=true" -agentlib:yjpagent "

パフォーマンスの影響

YourKit の実行はパフォーマンスに影響を与える可能性があります。

パフォーマンスの問題を最小限に抑えるため、agentlib パラメーターで次の変更を使用します。

-agentlib:yjpagent=disablecounts,disablealloc,disablej2ee

YourKit ドキュメントの「Profiling overhead: how to reduce or avoid」も参照してください。

YourKit プラグインのインストール

プラグインをダウンロードし、管理、プラグイン ページから Confluence にアップロードします。

新しいメニュー オプション「YourKit プロファイル」が「管理」見出しの下に表示されます。これをクリックスト、メモリまたは CPU スナップショットへ移動するオプションが表示されます。

このプロファイラー ダンプはローカルの一時ディレクトリに保存され、完了するとパスを示します。CPU スナップショットの場合は、30 秒以上かかります。メモリ スナップショットの場合は、10~15 秒かかります。

スクリーンショット: メモリまたは CPU スナップショットへ移動できます

この操作を行う理由

プロファイラー ダンプを分析することで、Atlassian サポート (または関心を持っている場合はユーザー) はアプリケーションに何が発生したかを正確に確認することができます (メモリを使用しているクラス、CPU を使用しているのは何かなど)。これにより、高度なパフォーマンスの問題をデバッグするのに役立ちます。これを使用しない場合、リモートで分析することはできません。

次の場合に CPU スナップショットを作成します。

  • Confluence が応答しない場合がある
  • ページの読み込みに時間がかかる
  • Confluence の CPU 使用率がピークに達しています。

次の場合にメモリ スナップショットを作成します。

  • Confluence のメモリ使用量が予想より多い
  • ログに OutOfMemoryError が表示される

(info) Confluence が応答せず、メモリ スナップショットをトリガーできない場合、次のように JVM オプションの onexit=memory パラメーターで Confluence を起動し、Confluence をシャットダウンします。シャットダウン前に、メモリ スナップショットが作成されます。

 -agentlib:yjpagent=onexit=memory
最終更新日 2018 年 8 月 13 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.