投稿

4月, 2018の投稿を表示しています

AmazonLinuxにJavaスレッドダンプ取得ツールをインストールして取得できるようにする

スレッドダンプとは スレッドダンプとは何なのでしょうか。
スレッドのダンプ…JavaのスレッドはJavaを実行する際の実行単位というか、処理の流れの1つのこと。
それのダンプ…ダンプとはあるOSやプログラムのその時の状況を丸ごと取得してファイルなどに出力したもの。
なのでスレッドダンプとはJavaプログラムのある時点での処理状況をダンプとして取得したものになります。
スレッドダンプについては下記などがとても参考になりますのでご参照ください。
(参考)
» 「うわっ…私のアプリ、遅すぎ…?」 スレッドダンプでJavaアプリケーションのボトルネックを調査しよう TECHSCORE BLOG http://www.techscore.com/blog/2016/02/05/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%83%80%E3%83%B3%E3%83%97%E3%81%A7%E3%83%9C%E3%83%88%E3%83%AB%E3%83%8D%E3%83%83%E3%82%AF%E3%82%92%E8%AA%BF%E6%9F%BB%E3%81%97%E3%82%88%E3%81%86/あなたとスレッドダンプ - スレッドダンプ入門 - この国では犬が http://enk.hatenablog.com/entry/2014/09/22/001303

スレッドダンプツールについて jstackというツールがあり、これを利用してスレッドダンプを取得するのが一般的なようです。
どこの記事を読んでも出てきますし、下記のAdobeの技術記事(2017年10月更新)でも利用されているのでjstackを利用しておけば間違いありません。

(参考)
JVM からのスレッドダンプの取得 https://helpx.adobe.com/jp/experience-manager/kb/TakeThreadDump.html

インストール方法 普通はJavaを実行しているマシンにはだいたいjstackがインストールされているようなのですが、私が運用しているサーバには入っていなかったので入れてみました。

既存のJDKのインストール状況確認 $ rpm -qa | grep jdk java-1.7.0-openjdk-1.7.0.161-2.6.12.0…