タグ

システム開発とjstackに関するsnjxのブックマーク (3)

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

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

  • jstack: Target process not responding

    I am running Ubuntu server edition and I wanted to take a thread dump of Tomcat. So, I first tried to find out which PID tomcat uses: $ jps -l 5809 sun.tools.jps.Jps But it's not there? So, I used top instead and found out the PID 5730. Then I called jstack to get the thread dump: $ sudo jstack -l 5730 5730: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F

    jstack: Target process not responding
    snjx
    snjx 2016/09/13
    jstackを動かすときは、プロセスのオーナー権限でやること。
  • 1