問題タブ [jstack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1250 参照

java - jstack 100% CPU

そのため、アプリケーションが時折 100% の CPU を消費する理由を突き止めようとして行き詰まってしまいました。私はいくつかの非常に役立つstackovertflowの投稿を読みましたが、安全を期すために、アドバイス...ガイダンス...支援...何でも受けたいと思います。実際にこれが起こるのは、スタック トレースを調べた経験不足です。誰かがここで考えられる犯人を指摘し、そのポインタを示してくれれば、これをよりよく理解できると本当に感謝しています.

注目すべきスレッド (私にはそう思われる) は、モニターを待っているスレッドです。

0 投票する
3 に答える
1894 参照

java - Java Swing : GUI の凍結 - jstack の解釈

シリアルサーマルプリンターでチケットを印刷するGuiアプリケーションを使用しています。このアクションを起動するボタンを押すと、GUI がフリーズします。コードが EDT で実行されるためだと思います。確かにjstackを使用しましたが、以下の結果がわかりません:

最初のスレッド「Thread-12」が原因で、GUI がフリーズしていることをどこで確認できるかを誰かに説明してもらえますか。

次に、このスレッドを 1 回しか実行していないと確信している限り、「Thread-6」と「Thread-7」の違いは何ですか。

0 投票する
1 に答える
224 参照

java - Javaアプリのデッドロックが発生しましたが、jstackを使用してスレッドをダンプした後にロックが解除されました

私のJavaアプリは時々フリーズするので、jstack -Fでスレッドをダンプしますが、レポートにはデッドロックがなく、アプリが再び応答するようになりましたか?誰が何が起こったのか知っていますか?

hibernate 4.1.8、jetty 9M2、mysqlコネクタ5.1.22、c3p00.9.2.pre6を使用している私のアプリ。スレッドダンプはどこでもブロックされているようです。ログファイルが少し長いので、ここにアップロードしましたhttp://pastebin.com/vDCd6Kjb

0 投票する
1 に答える
9327 参照

java - (Linuxでは)rootとしてjstack -Fを実行する必要がありますか?その場合、その理由は何ですか?

(Linuxでは)rootとしてjstack -Fを実行する必要がありますか?その場合、その理由は何ですか?

自分のプロセスをjstack-Fしようとすると、次のエラーが発生します。

プロセスへのアタッチ中にエラーが発生しました:sun.jvm.hotspot.debugger.DebuggerException:プロセスにアタッチできません

jstack -Fは、sudoで実行すると正常に動作します。

0 投票する
1 に答える
6229 参照

java - ほとんどすべてのスレッドが NATIVE 状態の場合の ThreadDump の問題

ほとんどのスレッドが(state = IN_NATIVE)状態になっているアプリケーションで、ホストのスレッド ダンプを取得しました。

これらのインスタンスでブロックされたのは、いくつかのスレッドのみです。

いくつかのリクエストを行いHttpConnections、構成可能な時間の経過後にリクエストがタイムアウトしました。ホストを再起動すると、すべてが正常に戻りました。

したがって、スレッドはある時点でブロックされているはずだと思います。

NATIVE コードで実行されているスレッドは、ここを指していました。

これが犯人だと思います。これらの呼び出しを行うライブラリを内部的に使用ImageIOしています。Jsoup

スレッド ダンプの読み取りについてはよくわかりません。しかし、どんな助けでも大歓迎です。

ネイティブに実行されているすべてのスレッドが問題を引き起こしている可能性はありますか? どのように進めればよいですか?

ありがとう、

0 投票する
1 に答える
3863 参照

java - ストールしたロックを追跡するための jstack トレースの解釈

私は Samurai を使用しており、デッドロックがなく、いくつかのスレッドが待機していることがわかりますが、どのロックがプロセスを停止させているかを正確に把握できないようです。誰でも私を助けることができますか?

私の問題が何であるかを推測する人を探しているのではなく、問題を追跡しやすくするためにコードを変更する方法についてのアドバイスを求めています。最初の送信と受信を完了した後、2 番目のメッセージを送信する必要があるときにプログラムが停止します。マルチスレッドは初めてで、jstack をプルするのはこれが初めてです

必要に応じてコードを追加する シリアル通信クラス

RobotInterface クラス

実行を要約すると、ビット文字列を含むゲノムごとに、RobotInterface スレッドを作成する for ループがあります。このゲノム参照は、RobotInterface と呼び出しスレッドが終了時に通知するための共有クラスである候補テストに保持されます。

ビット文字列は、TwoWaySerialCommTest を使用して RobotInterface によってロボットに送信されます。ロボットはそれを評価し、SerialReader によって float として解析されるフィットネス関数を返します。次に、次の文字列がロボットに送信されます。

ロックは、最初の文字列がロボットに返された後に発生し、2 番目の文字列が送信されています。最初のストリングはロボットに到達しますが、2 番目のストリングは到達しません。出力は次のとおりです-

0 投票する
0 に答える
230 参照

java - jstack 内のオブジェクト ID

システムでデッドロックが発生しました。数分間隔で取得した 2 つの jstack からの抜粋を次に示します。

Jスタック1

Jスタック2

両方の jstack で、モニター ID は同じ 0x00007f1ad075d2e80x00007f1ad075d390ですが、オブジェクト ID は異なります。

明らかにデッドロックがあります。オブジェクト ID が異なるのはなぜですか? それらは同じであるべきではありませんか?

0 投票する
1 に答える
771 参照

java - top -H は、jstack 出力に表示されないいくつかのスレッド ID を示します

jboss が 600% の CPU (CentOS 5 で実行) を使用している理由を調査しようとしています。

実行して、結果を出力top -Hと比較しようとします。jstackトップから来るスレッド ID のほとんどは jstack の出力に表示されますが、残念ながら CPU の大部分を占めるスレッドはそこにリストされていません。

出力が非常に長いため、ここではその一部のみをリストしています。

jstack の出力は次のとおりです。

より多くのスタック....

の出力のスレッド ID は の出力にjstackも表示されますが、 CPU を最も集中的に使用topする上位のスレッド ID (1903 ~ 1908 年) は、jstack の出力には表示されません。

これらはGCスレッドである可能性があると思いましたが、これを証明するものは何も見つかりません.

jstack にすべてのスレッドが表示されない理由、または欠落しているスレッドを表示するために何ができるか考えていますか?

0 投票する
3 に答える
6416 参照

java - kill -3 または jstack : 違いは何ですか?

jboss サーバーで実行されている Web アプリケーションのスレッド ダンプを取得したいと考えています。

私の問題に対する2つの解決策を見つけました:

  • unix コマンドの使用: kill -3
  • JDK に存在する jstack ツールを使用します。

誰でもこれらの2つの方法の違いを説明できますか?

前もって感謝します !