« 殺人事件発生率の統計資料 | トップページ | PHPpgadmin的なものを作るときの注意点(1) »

2014.03.12

スレッドダンプ解析ユーティリティ『侍』

Javaシステムで問題が起きた場合、スレッドダンプを解析しなければならなくなることは往々にしてある。
今回、スレッドダンプ解析ツールとしては名高い『侍』を私も導入してみたので、ちょっとだけメモり。

[本家サイト]
まずは本家サイトを案内して、ダウンロード情報を書くのがこの手のエントリーの常なのだが、これについてはちょっと勝手が違った。
 1)本家サイトのGoogle Adsに惑わされた
 2)本家サイトのダウンロードファイルがリンク切れしている
という二つの要因で、入手がなかなかできなかった。

1)についてであるが、ダウンロードファイルのリンクは本文中にあるだけだったので、それよりも大きく表示されている他の広告が目立っていて、しかも位置的に通常のダウンロードがあってもいいような場所に表示されていたので大変戸惑った。
というか間違えて不要なアプリを2つもダウンロードしてしまったorz


こんな感じで表示されてたら、誤認ダウンロードしちゃうよね?? まあGoogleAdsによる絞り込みなので、作成者の方が意図してやってるわけではないだろうから、Googleって罪作り、と思うことにした。

2)のほうがきつくって、
http://yusuke.homeip.net/samurai/ja/samurai.jar
にjarファイルを保管してくれているらしいのだが、何回やってもエラーになった。
個人の好意で提供くださっているものなので、公式がこうなると致し方がない。
それともたまたまなのかなあ?

で、私の場合は再配布をしているサイトを探すこととした。
LGPLライセンスだから、再配布を行っているケースはあるだろうと踏んだのだった。
無事に再頒布先にて入手できたのでOK。

で、肝心の利用方法であるが本家のサイトにもあるとおり、DOSプロンプトから

>java -jar samurai.jar
で起動することができ、そこに対してスレッドダンプのログを食わせてあげれば、視覚的にスレッドのつまり具合を確認することができる。

スレッドダンプの取得方法は大きく2種類ある。
1)killコマンドでの取得
2)jstackでの取得

killでの取得
kill -3 [プロセスID]
で出力されるのだが、出力先が標準出力だったり、coreダンプの出力先だったりするので注意が必要。
jstackでの取得
もしjstackが使えるなら、こっちのほうが気軽。 やはりいくらプロセスを殺さないオプションとはいえ、killコマンドを発行するのは精神衛生上あまり楽しいものではないしね(^^;
jstack [プロセスID]
こちらは標準出力に出てくるので、リダイレクトするなりなんなりの加工は必要だろう。

|

« 殺人事件発生率の統計資料 | トップページ | PHPpgadmin的なものを作るときの注意点(1) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/59260392

この記事へのトラックバック一覧です: スレッドダンプ解析ユーティリティ『侍』:

« 殺人事件発生率の統計資料 | トップページ | PHPpgadmin的なものを作るときの注意点(1) »