JDK 1.6에는 실행중인 Java 프로세스를 검사하고 상호 작용할 수있는 VisualVM이라는 편리한 도구가 번들로 제공됩니다. 한 가지 특징은 로컬 시스템에서 실행중인 JVM을 자동 감지한다는 것입니다. 대부분은 "(pid xxxx)"로 나열되어 있지만 일부는 VisualVM 자체 및 NetBeans와 같은 다른 이름과 아이콘이 있습니다 (예 : this dzone article의 스크린 샷 참조).VisualVM "<알 수없는 응용 프로그램>"에 이름을 지정하려면 어떻게합니까?
내 응용 프로그램 이름과 아이콘을 JVM에 삽입하여 VisualVM의 응용 프로그램 목록에 제대로 표시되도록하려면 어떻게해야합니까? 내 응용 프로그램이 JRE 1.6을 실행해야합니까, 아니면 1.5 이하에서도이 작업을 수행 할 수 있습니까?
OpenJDK의 LocalVmManager를 살펴보면서 알게 된 힌트가 있습니다. 로컬 VM 목록은 $ TMP/hsperfdata_ $ USER /를 보면 알 수 있습니다. 거기에있는 각 파일의 이름은 VM의 PID입니다. 그 안에는 명령 줄 "sun.rt.javaCommand"가 있지만 VisualVM 프로세스의 파일에는 "VisualVM"문자열이 포함되어 있지 않으므로 해당 파일에서 직접 가져올 수 없습니다. –