GC ログを使用した Jira Server のパフォーマンスのトラブルシューティング

お困りですか?

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

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

このページで紹介している手順は Jira 7.3 以前でのみ使用できます。

Jira 7.4 以降ではガベージ コレクション ログを改善し、自動生成されるようにしました。生成されたログは <installation-directory>/logs で確認できます。

Jira Software 7.4.x リリース ノート

また、Java 9 以降で無制限の JVM ログが導入されたことを受け、以降のすべての推奨パラメーターのサポートが終了しています。このため、ご利用の Java バージョンが Java 8 よりも新しい場合は次のページの手順をご利用ください。

Java バージョン 11 利用時の Jira のガベージ コレクション ログ設定


ガベージ コレクション

Jira アプリケーションは、詳細なガベージ コレクション (GC) チューニングはあまり必要としない、堅牢なアプリケーションです。ただし、大規模なインストールでは、GC チューニングによって Jira アプリケーションのパフォーマンスを改善できる場合があります。また、GC ログの分析は Jira アプリケーションのパフォーマンスの問題のトラブルシューティングにも役立ちます。Jira 7.4 以降では、GC ログが自動的に生成されるようになりました。これらは <installation-directory>/logs で見つけることができます。

診断

詳細ガベージコレクションは、Java がガベージを収集している日時、このプロセスの所要時間、解放されたメモリ量を示すログステートメントを生成します。ガベージ コレクションは、以降のプロパティを JVM に渡すことで有効化できます。詳細については「起動時にプロパティおよびオプションを設定する」ドキュメントをご参照ください。

次の例のように、Xloggc パラメーターは GC ログの場所の完全なパスを使用する必要があります。サポート zip の生成時に含められるよう、これらを $JIRA_HOME/log に配置することをおすすめします。ご利用のディレクトリが既定のものとは異なる場合はそのディレクトリを使用してください。

パラメーター -XX:+PrintGCCause は Java 1.7.0_45 で導入され、このバージョンよりも前のバージョンを使用している場合は動作しません。このフラグを使用する前に、インスタンスで使用している Java のバージョンをご確認ください。

Linux/Unix (Java 8 まで)

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCCause -Xloggc:<PATH_TO_GC_LOGS>/atlassian-jira-gc-%t.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=20M

Linux/Unix (Java 9 以降)

-Xlog:gc*:file=<PATH_TO_GC_LOGS>/atlassian-jira-gc-%t.log:tags,time,uptime,level:filecount=5,filesize=20M

Windows (Java 8 まで)

-Xlog:gc*:file=<PATH_TO_GC_LOGS>\atlassian-jira-gc-%t.log:tags,time,uptime,level:filecount=5,filesize=20M
-XX:+PrintGCDetails

-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCCause
-Xloggc:<PATH_TO_GC_LOGS>\atlassian-jira-gc-%t.log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=20M

Windows (Java 9 以降)

-Xlog:gc*:file=<PATH_TO_GC_LOGS>\atlassian-jira-gc-%t.log:tags,time,uptime,level:filecount=5,filesize=20M

<PATH_TO_GC_LOGS> は Jira のインストール ディレクトリ (catalina_home、例: /opt/atlassian/jira/logs) に設定することをおすすめします。これによって GC ログをサポート zip に含めることができます。

パラメーターの設定箇所

パラメーターの設定方法については「起動時にプロパティおよびオプションを設定する」ガイドをご利用ください。JVM_GC_ARGS、それが存在しない場合は JVM_SUPPORT_RECOMMENDED_ARGS に値を設定することをおすすめします。

一部のパラメーターは setenv.sh/setenv.batほかの部分にすでに存在する可能性がある点にご注意ください。重複や以降のファイル編集での混乱を防ぐため、それらを別の場所から取り除くことをおすすめします。

分析

  1. これらのオプションを追加して Jira アプリケーションを再起動すると、-Xloggc パラメーターで指定したログにメモリの使用状況の情報が記録されます。これを GCViewer などのツールを使用して分析できます。
  2. GC チューニングのプラクティスや原則についての完全なガイドを「ガベージ コレクション (GC) チューニング ガイド」で確認できます。
  3. Java の VisualVM をインストールして、Jira アプリケーションを実行しているプロセスをバインドするために使用できます。これを使用して、GC による CPU の使用状況やヒープの使用状況を分析できます。各ヒープ領域の視覚的な情報を提供する visualGC プラグインのインストールが推奨されます。
  4. GC をより理解するために、Java Garbage Collection Distilled などのサードパーティによるブログを確認することもおすすめします。 

GC ログに加えて、ヒープ ダンプを分析に使用できます。詳細については「ヒープ ダンプで Jira サーバーの OutofMemory エラーを分析する」をご確認ください。

推奨事項

あらゆる状況に適用できるような推奨事項はなく、分析ツールを使用した詳細な評価に勝るものはありません。アトラシアンでは、Jira アプリケーションやそれを実行している環境のパフォーマンス分析にアトラシアン パートナーのサービスを活用することをおすすめしています。

パフォーマンスの問題の診断の詳細な情報については「Jira サーバーのパフォーマンスの問題のトラブルシューティング」ドキュメントをご確認ください。



説明 このページでは、GC ログの分析を使用した、Jira アプリケーションのパフォーマンスの問題のトラブルシューティングについて説明します。
最終更新日 2021 年 8 月 4 日

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

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