VisualVM을 사용하여 Tomcat 애플리케이션 프로파일 링
VisualVM 도구를 사용하여 Tomcat에서 실행되는 응용 프로그램을 프로파일 링하고 싶습니다. 불행히도 VisualVM에 Tomcat을 프로파일 링하도록 지시하면 Tomcat은 프로파일 도구에 연결 중임을 나타내는 몇 가지 메시지를 출력 한 다음 종료됩니다.
세부…
Windows XP, Tomcat 6, VisualVM 1.2.1 및 JDK 1.6.0_11을 사용하고 있습니다.
- Visual VM에서 Tomcat 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고“Profile”을 선택합니다.
- Profiler 탭에서 Memory 버튼 (또는 CPU 버튼)을 누릅니다.
- Tomcat 종료
Tomcat 응용 프로그램을 마우스 오른쪽 단추로 클릭하고 "힙 덤프"를 선택하면 정상적으로 작동하는 것 같습니다.
나는 한 VisualVM
내 작업 프로파일 링 Tomcat
이제 응용 프로그램입니다. Tomcat 시작에 다음 매개 변수를 추가해야했습니다.
-Dcom.sun.management.jmxremote.port=8086
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
여기에 좋은 기사입니다 모니터링에 Tomcat
함께가 VisualVM
.
예, Tomcat 애플리케이션을 프로파일 링합니다.
catalina.bat
또는 catalina.sh
다음으로 이동 하십시오 JAVA_OPTS
(Tomcat 6.0.16을 사용하고 있습니다).
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
당신의 JAVA_OPTS
모습은
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Ryan이 setenv.sh
. 이것은 setenv.sh
JDK 8을위한 것입니다. 다른 설정이 거의 없지만 시작하기에 좋습니다.
SUN_JVM_OPTS="
-server \
-XX:MaxMetaspaceSize=3G \
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled \
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 \
-XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark \
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=2M \
-XX:+HeapDumpOnOutOfMemoryError \
-Dsun.net.inetaddr.ttl=60 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8480 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"
# Set custom application options here
APPLICATION_OPTS="-Dlog4j.configurationFile=patht-to-log/log4j2.xml -Dlog4j.debug=true "
JVM_OPTS="$GENERAL_JVM_OPTS $SUN_JVM_OPTS"
CATALINA_OPTS="$JVM_OPTS $APPLICATION_OPTS"
echo "Tomcat started with settings "$CATALINA_OPTS
setenv.sh
in bin 디렉토리 를 삭제하면 시작시 콘솔에서 변경 사항을 볼 수 있습니다.
Visual VM으로 Tomcat 애플리케이션을 프로파일 링하는 또 다른 단계별 자습서 : Visual VM으로 애플리케이션 성능 문제 해결
Tomcat 7을 사용하고 있으며 전체 구성에는 더 많은 매개 변수가 필요합니다.
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090 # port to connect JMX
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=50.112.22.47" # IP of the server running tomcat (it is necessary)
출처 : http://blog.markshead.com/1129/connecting-visual-vm-to-tomcat-7/
다음 VM 옵션을 설정하는 데 필요한 모든 작업 :
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:FlightRecorderOptions=stackdepth=512
참고URL : https://stackoverflow.com/questions/1890431/profile-tomcat-application-with-visualvm
'Program Tip' 카테고리의 다른 글
Visual C ++ 2008에서 UTF-8 문자열 리터럴을 만드는 방법 (0) | 2020.12.01 |
---|---|
다른 동일한 하위 항목이 아닌 직계 하위 항목 만 대상으로하는 CSS 선택기 (0) | 2020.12.01 |
함수에 전달 된 인수의 목록 / 튜플 / 사전을 가져 오나요? (0) | 2020.12.01 |
UDID 및 재 컴파일을 관리하지 않고 무선으로 iOS 애플리케이션을 배포하는 방법 (0) | 2020.12.01 |
Java가 SSL 핸드 셰이크 중에 클라이언트 인증서를 보내지 않는 이유는 무엇입니까? (0) | 2020.12.01 |