タグ

スレッドダンプに関するhikazohのブックマーク (2)

  • 「うわっ…私のアプリ、遅すぎ…?」 スレッドダンプでJavaアプリケーションのボトルネックを調査しよう | TECHSCORE BLOG | TECHSCORE BLOG

    「うわっ…私のアプリ、遅すぎ…?」 スレッドダンプでJavaアプリケーションのボトルネックを調査しよう こんにちは、寺岡です。 今回は、アプリケーションのトラブルを調査する際に役立つスレッドダンプについて書いてみたいと思います。 スレッドダンプって何? スレッドダンプとは、ある時点の全てのスレッドのスタックトレースを出力したものです。 スタックトレースとは現在のスレッドのメソッドの呼び出し階層を出力したもので、例外が発生した時なんかによく見かけるアレのことです。 javaプロセス内部では複数のスレッドが並列に処理を行っています。 Tomcatなどのサーブレットは複数のスレッドを使ってリクエストを処理しますし、シングルスレッドのシンプルなアプリケーションでもGCなどの処理は専用のスレッドが処理を行っています。 スレッドダンプを取得するとは、プロセス内の全スレッドに対して「ちょっとお前ら、今何

  • Java スレッドダンプとの戯れ方 - A Memorandum

    プロセスIDの取得 スレッドダンプの取得 Windowsでプロセスをサービス起動している場合 スレッドダンプを読む プロセスIDの取得 まずは Java のプロセスIDを取得するところから始める。jps で取得できる。 $ <JAVA_HOME>/bin/jps -l 主要なオプションは以下の通り(SunVM)。 オプション 説明 -m main メソッドに渡される引数を出力 -l アプリケーションの主要なクラスのフルパッケージ名、またはアプリケーションの JAR ファイルへのフルパス名を出力 -v JVM に渡される引数を出力 JDK7 からは JRockit と統合されたため jcmd が使えるので以下でもプロセスIDを取得できる。 $ <JAVA_HOME>/bin/jcmd または、単に ps コマンドで取得するでもよい。 $ ps -ef | grep -v 'grep' | g

    Java スレッドダンプとの戯れ方 - A Memorandum
  • 1