3.3. Java スレッドによる CPU 高使用率の特定

注記

Red Hat Enterprise Linux または Solaris 上で JBoss EAP を使用している場合は、Red Hat カスタマーポータル上で JVMPeg ラボツールを利用すると、CPU の高使用率を特定するための Java スレッド情報の収集および分析が容易になります。以下の手順を使用する代わりに JVMPeg ラボツールの使用手順 に従います。

OpenJDK および Oracle JDK 環境では、jstack ユーティリティーを使用して Java スレッドの分析情報を取得できます。

  1. CPU の使用率が高い Java プロセスのプロセス ID を特定します。

    使用率が高いプロセスのスレッドごとの CPU データを取得すると便利なこともあります。このデータを取得するには、Red Hat Enterprise Linux システム上で top -H コマンドを使用します。

  2. jstack ユーティリティーを使用して、Java プロセスのスタックダンプを作成します。Linux および Solaris の例を以下に示します。

    jstack -l JAVA_PROCESS_ID > high-cpu-tdump.out

    複数のダンプを周期的に作成し、一定期間での変更および傾向を確認する必要があることがあります。

  3. スタックダンプを分析します。Thread Dump Analyzer (TDA) などのツールを使用できます。