問題タブ [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.
java - サーバーでjstackが機能しない
サーバーで jstack を使用して、Java アプリがデッドロックしているかどうかを検出します。Linux サーバーの 1 つで動作していません。O/S のバージョンは次のとおりだと思います。
サーバーで実行されている Java バージョン:
私がしようとすると:
私は得る:
私がしようとすると:
私は得る:
誰がこれを引き起こしているのか知っていますか?
java - jstack を使用してブロッカー スレッドを見つける方法
jstack を使用して、実行中のスレッドのツリーを取得しました。
次の Thread.State の意味は何ですか:
- 待っている
- TIMED_WAITING
- 実行可能
tid と nid とはどういう意味ですか?
スレッドのタイトルは
「イベントバッチ処理 (Spring UAA/1.0.2)」デーモン prio=10 tid=0x0000000041e27800 nid=0x363b 条件 [0x00007f9a89267000] で待機中
- 「waiting-on-condition」アドレスのソースコード行に移動するにはどうすればよいですか
java - jstack - 既知のファイルは安全ではありません
32 ビットの Oracle Java 1.6.0 を使用して、x86_64 CentOS 5.7 で tomcat 5.5 を実行しています。
Tomcat が使用する JVM プロセスの pid は 6421 です。Tomcat は正常に動作しています。
実行するjstack
と、次のように失敗します。
妥当な出力を得るには、強制オプションを使用する必要があります。
質問は次のとおりです。
- 「well-known file is not secure」というエラー メッセージはどういう意味ですか?
- 「よく知られている」ファイルとは何ですか?
jstack
強制オプションなしでコマンドが機能しないのはなぜ/いつですか?
前もって感謝します。
java - Java で 100% の CPU
jboss で実行されているサーバー (.war) が 100% の CPU になることがあります。jstack でダンプを作成しましたが、何が 100% の CPU を使用しているのかを確認できません。jstack -F は成功しないので、フラグなしで実行しました。まだまだあるけど全部載せきれない…
考えはありますが、これが正しいかどうかはわかりません: 0x00002aaab58c0900 のすべてのロックが原因でしょうか?
次のような実行可能なものがいくつかあります
これがダンプの始まりです
java - Javaスレッドダンプのprio値は、Linuxの実際のスレッドの優先度と一致しませんか?
Java コード内でスレッドの優先順位を使用するつもりです。アプリケーションは、私の Linux システムで実行されます。
Web を読んだ後、次のコマンドでテスト アプリケーションを開始します。
test-application は、次の 2 つのクラスで構成されます。
プログラムに 1 分間カウントさせると (NUM_MILLIS_TO_COUNT_FOR=1 60 1000)、次の出力が得られます。
この出力によると、優先順位は予想どおりの影響を与えているようです! しかし、「jstack」または「kill -s QUIT」を使用してスレッド ダンプを生成すると、次の出力が得られます。これは、すべてのスレッドが同じ優先度 (prio=10) であることを意味します。
Windows マシンで同じことを行うと、ここで見つけた優先順位のマッピングによると、prio の値は正しい値になります。
それで、これは jstack のバグですか、それとも何か間違っていますか?
「top | grep java」を実行すると、次のようになります。
これは、メイン スレッドの優先度が 20 であることを意味しますが、"top -H | grep java" を実行すると、次の出力が得られます。
これは、Java スレッドの優先順位が実際に OS スレッドの優先順位に影響を与えることを示しています。
しかし、prio=10 で jstack の値が 10 になるのはどこからでしょうか? それは単なる任意の値ですか?
linux - プロセスのスレッド ダンプ ログを収集する UNIX スクリプト
HashMap.put 関数に関する問題を生成しようとしています。100 を超えるスレッドを実行するテスト コードを作成しました。jstack または kill を使用して、プロセスの特定のスレッドのスレッド ダンプを取得できます。 .問題は、スレッド ダンプをすぐにキャプチャできないことです。プロセスが終了するまで、すべてのスレッド ダンプをファイルに記録したいのですが、これを行うために書き込むことができる Linux コマンドまたはシェル スクリプトはありますか?
java - jstackスレッドダンプを作成できません-スレッド745:(状態=ブロック済み)スタックのウォーク中にエラーが発生しました)
Linuxで$JAVA_HOME/ bin/jstackを使用してJBoss4.2.3.GAのスレッドダンプを生成すると...次のエラーが発生します。
なぜこれが起こっているのか考えはありますか?誰かが同時にヒープダンプを実行しているのではないかと思いました。他のアイデアはありますか?
java - jstack -F は実行中の Java プロセスにどのように影響しますか?
使用している Java Web アプリケーション (Jenkins) が応答しなくなる問題を診断しようとしています。jstack
フラグなしで実行-F
しても何も得られませんが、スレッド ダンプを強制するためにフラグを入れると、結果が得られるだけでなく、アプリケーションが応答を開始し、最終的には何も起こらなかったかのように続行します。再び応答を停止します。
jstack -F
実行中の JVM に影響を与え、応答しないアプリケーションが再び応答を開始する原因となる flag の機能は何ですか?
java - jstack 出力 - Java Thread.getId の tid を取得
java-thread-id-and-stack-trace のようなスレッド ID の取得に関する既存の質問を確認しました。
しかし、私は単純に見えるものを理解することができません。Javaでスレッドを停止するJSPツールを作りたいです。
一般的には悪い考えであることはわかっていますが、JBoss のハード化を引き起こす環境で JConsole を使用できないため、これが必要です。
私の質問は、サンプルのjstack出力を取ることです:
Event Batch Processing (Spring UAA/1.0.2)" daemon prio=10 tid=0x0000000041e27800 nid=0x363b waiting on condition [0x00007f9a89267000]
これから、どの id が でthread.getId()
定義されているようになりjava.lang.Thread
ますか? この行の最後のトークンは何[0x00007f9a89267000]
ですか?- を Java に変換するにはどうすればよいですか (Java コードは素晴らしいでしょう
hex
)long
。 これがうまくいかなかった理由を教えてください ->
/li>tid=
終わりのないループでハングしたスレッドの jstack から 16 進数を取得しました。次に、これを行いました:
この出力は見つかりませんでした。入力パラメーターは tid でした。Windows 7 の calc、プログラマー モード (16 進数) に貼り付けてから、[12 月] をクリックしました。
アップデート:
私のテスト コードでは、無限にループする JSP を作成し、10000 回の反復ごとに 1 つの文字を出力し、jstack を実行して次の結果を得ました。
jstack を数回実行し、毎回このエントリを取得しました。
しかし、スレッドを使用して JSP を実行するとid = 000000000d4eb000
、それが見つかりません。アプリ コンテナーがスレッドに一意の名前を付けているため、スレッドを見つけることができ、印刷すると次のようになります。
私は得る:
0x000000000d4eb000
では、内部 JVM が として
認識しているように、どの jstack が明らかに識別しているの1389 hex :56d
でしょうか? 最後に、名前で検索してスレッドを停止するように JSP を変更しました。幸いなことに、スレッド名はすべて異なります。しかし、これはバグですか? Windows、JBoss 4.2、Java 1.6 update 32 を実行していますか?