JMX는 JVM와 그 위에서 동작하는 애플리케이션을 제어하고 모니터링 하는 강력한 벙용 툴입니다.-javagaent:<에이전트 JAR 파일이 위치한 경로>=<옵션>
-agentlib:<에이전트 라이브러리명>=<옵션>
-agentpath:<에이전트 경로>=<옵션>
자바 객체, 핫스팟 자료 구조 모두 표출 가능한 API와 툴을 모아놓은 것 입니다.
실행화면

실행 후, 좌측 Applications 에서 모니터링 할 프로그램을 선택하여 해당 프로그램의 모니터링을 시작 합니다.
@RestController
@RequiredArgsConstructor
@RequestMapping
@Slf4j
public class StockLogController {
~~ 기존 코드 ~~
@Operation(summary = "테스트용 멀티 스레드 다수 생성 api", description = "테스트")
@GetMapping
public BaseResponse<Void> test() {
ThreadPoolExecutor es = new ThreadPoolExecutor(100, 100, 0, TimeUnit.MILLISECONDS,
new ArrayBlockingQueue<>(100));
try{
for(int i=0; i<100; i++) {
es.submit(new TestThread());
}
} finally {
es.shutdown();
}
return new BaseResponse<>();
}
private static class TestThread implements Callable<String>
{
@Override
public String call() throws Exception {
Thread.sleep(10000);
return "OK";
}
}
실행전

실행 후

