본문 바로가기

Thread2

[Java] Jstack 을 활용한 스레드(Thread) 덤프, 리소스 모니터링 Spring boot 기반 프로젝트 내에서 Java Thread를 활용한 로직을 활용 도중 특정 스레드 에서의 병목현상이 발생하였고 해당 병목 현상을 해결하는 과정에서의 스레드 덤프를 활용하였고 많은 도움이 되었습니다. 스레드 덤프를 뜨기 위한 Jstack에 대한 기본 사용법과 활용법을 공유하고자 합니다. Jstack?? Jstack이란 JDK와 함께 제공되는 유틸리티로 Java Thread Dump를 생성하는 데 사용됩니다. Windows와 Linux에서 jstack.exe로 Thread Dump 생성하기 ${jdk설치경로}\bin target 경로에서 jstack.exe를 활용해서 전체 Thread Dump를 추출합니다. 사전 시나리오 EndPoint @RestController public clas.. 2023. 7. 9.
[Java] ExecutorService, ScheduledExecutorService, and Future Java에서 ExecutorService는 스레드를 사용하여 작업을 비동기적으로 실행하는 방법을 제공합니다. ExecutorService를 상속하는 ScheduledExecutorService는 지정된 시간, 고정된 속도 또는 고정된 지연으로 실행되도록 작업을 예약하는 메서드를 제공합니다. Future는 비동기 작업의 결과를 나타내며 작업의 상태를 확인하거나 필요한 경우 취소할 수 있습니다. 요 세 녀석을 자세하게 살펴보도록 하겠습니다. ExecutorService Java에서 스레드는 운영 체제의 리소스인 시스템 수준 스레드에 매핑됩니다. 스레드를 제어할 수 없을 정도로 많이 생성하면 이러한 리소스가 빠르게 부족해질 수 있습니다. Java에서는 Executor framework가 thread pool을.. 2023. 3. 7.