さんだんダンプ
1.スレッドステータス
2.Threadによる問題解決
1.CPUの利用率が異常に高い場合
CPUを最も多く使用するスレッドを抽出します.
2.実行性能異常が遅い場合
アプリケーションの実行が非常に遅い場合、通常、BLOCKEDステータスのスレッドが発生します.この場合、Thread Dumpを複数回取得し、BLOCKED状態のThreadリストを検索し、BLOCKED状態のThreadが取得したいRockに関するThreadを抽出することができる.
3.ネジダンプの生成方法
jps -v // 자바 애플리케이션 프로세스 PID 확인
jstack PID //jps로 추출한 PID를 인수로 넣어 jstack을 하면 쓰레드 덤프를 획득한다.
4.例
サンプルコード
ThreadTest.java
package thread;
public class ThreadTest implements Runnable {
private long depositeMoney = 10000;
public void run() {
synchronized (this) {
for (int i = 0; i < 10; i++) {
notify();
try {
wait();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} if (getDepositeMoney() <= 0)
break; withDraw(1000);
}
}
}
public void withDraw(long howMuch) {
if (getDepositeMoney() > 0) {
depositeMoney -= howMuch;
System.out.print(Thread.currentThread().getName() + " , ");
} else { System.out.print(Thread.currentThread().getName() + " , ");
System.out.println("잔액이 부족합니다.");
}
}
public long getDepositeMoney() {
return depositeMoney;
}
}
ThreadMain.javapackage thread;
public class ThreadMain {
public static void main(String[] args) {
ThreadTest atm = new ThreadTest();
Thread mother = new Thread(atm, "mother");
Thread son = new Thread(atm, "son");
mother.start();
son.start();
}
}
PIDの確認
ねじダンプの作成
Thread詳細
https://fastthread.io/にThreed Dumpをアップロードする
Reference
この問題について(さんだんダンプ), 我々は、より多くの情報をここで見つけました https://velog.io/@jsj3282/쓰레드-덤프テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol