차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java [2020/04/24 07:55] – 만듦 koovjava [2024/12/05 04:33] (현재) – [Java] koov
줄 1: 줄 1:
 ====== Java ====== ====== Java ======
 +
 +| <fs 200%>[[Java Tip & Tech]]</fs>  | <fs 200%>[[Eclipse IDE]]</fs>  |
 +| <fs 200%>[[VSCode]]</fs>           | <fs 200%>[[SpringFramework]]</fs>                               |
 +
 +
 +  * [[Oracle Java SE Support Roadmap]]
 +  * [[Oracle JDK Certified System Matrix]]
 +  * [[Java Garbage Collector 비교]]
 +
 +
 +===== Thread Dump Analyzer =====
 +==== 스레드덤프 생성하기 ====
 +=== OS에서 생성하기 ===
 +OS에서 바로 생성하는경우 대부분 stdout 으로 출력되기 때문에 로그파일에 저장되거나 아니면 console 로 직접 출력이 된다. 따라서 콘솔출력을 redirection으로 로깅하고 있지 않은경우 저장이 불가능 할 수도 있다. 이점 참고하기 바란다.
 +  * 리눅스 : ''kill -3 [PID]''
 +  * 윈도우 : ''Ctrl + Break''
 +
 +=== JVM에서 생성하기 ===
 +  * ''jps -v'' 로 java 프로세스 확인
 +  * ''jstack [PID]'' (jstack으로 반응이 없는 경우 –F 옵션)
 +  * ''jcmd [PID] Thread.print'' (jdk7 이후 등장)
 +  * ''jcmd [PID] help'' 로 명령어 확인 가능, 직관적임
 +  * 이때 시간이 있다면 텀을 두고 3~4장을 떠두는게 좋다.
 +
 +
 +
 +==== ThreadLogic ====
 +https://github.com/sparameswaran/threadlogic
 +
 +  - 과거 오라클 사이트에 있었으나 개편되면서 사라지고, 아래 개발자가 github에 기존 코드를 이동
 +  - 전체적인 UI나 기능이 깔끔하고 직관적임
 +  - 쓰레드덤프 load 시간이 비교적 오래걸림
 +
 +==== IBM TMDA (Thread and Monitor Dump Analyzer) ====
 +https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda
 +
 +  - IBM에서 만든 analyzer로 유명한 편임
 +  - 전체적인 UI 깔끔하고 속도도 빠른편
 +  - 개인적으로 UX 가 좀 복잡한거 같음
 +  - 대략 어떤 원인인지는 확인이 되나 쓰레드 간의 lock, block, wait 상태를 직관적으로 보여주지 않아서 직접 찾아야함
 +
 +==== jVisualVM (JDK) ====
 +  - 쓰레드 덤프 제대로 못불러오는 이슈도 있고 전체적으로 느림
 +  - heap dump analyze 할때는 (느리지만) 괜찮은듯함
 +
 +==== irockel TDA ====
 +https://github.com/irockel/tda
 +
 +  - open source 라서 큰 기대를 안했는데 매우 추천
 +  - UI는 투박하나 UX가 직관적임
 +  - 특히 쓰레드간의 lock, block, waiting 상태를 직관적으로 보여줘서 직접 찾아다닐 필요가 없음
 +  - 예를 들어, 특정 쓰레드가 어떤 monitor를 lock 하고 있고, 그 lock으로 인해 block, waiting 하는 쓰레드들을 모여서 보여줌
 +  - 반대로, 어떤 쓰레드가 block, waiting 상태이면 어떤 lock과 monitor로 인해 해당 상태인지 연결해서 보여줌
 +
 +==== WEB 으로 서비스되는 사이트 ====
 +https://gceasy.io/
 +https://fastthread.io/
 +
 +  - UI가 기똥차고 analyze를 기똥차게 해줌
 +  - 하지만, IBM TMDA 처럼 쓰레드 간의 연결고리를 찾는게 쉽지 않음
 +  - 웹사이트에 파일을 upload 해야하기 때문에 찝찝함
  
  
  
 ===== Redis ===== ===== Redis =====
 +
 +  * [[https://developers.redhat.com/blog/2017/06/09/how-to-setup-a-redis-server-cluster-on-red-hat/|How to setup a redis server cluster on RedHat]]
  
   * https://jojoldu.tistory.com/418   * https://jojoldu.tistory.com/418
   * https://jojoldu.tistory.com/297   * https://jojoldu.tistory.com/297
  
  • java.1587714911.txt.gz
  • 마지막으로 수정됨: 2020/04/24 07:55
  • 저자 koov