Program Tip

VisualVM을 사용하여 Tomcat 애플리케이션 프로파일 링

programtip 2020. 12. 1. 19:38
반응형

VisualVM을 사용하여 Tomcat 애플리케이션 프로파일 링


VisualVM 도구를 사용하여 Tomcat에서 실행되는 응용 프로그램을 프로파일 링하고 싶습니다. 불행히도 VisualVM에 Tomcat을 프로파일 링하도록 지시하면 Tomcat은 프로파일 도구에 연결 중임을 나타내는 몇 가지 메시지를 출력 한 다음 종료됩니다.

세부…

Windows XP, Tomcat 6, VisualVM 1.2.1 및 JDK 1.6.0_11을 사용하고 있습니다.

  1. Visual VM에서 Tomcat 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고“Profile”을 선택합니다.
  2. Profiler 탭에서 Memory 버튼 (또는 CPU 버튼)을 누릅니다.
  3. 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.shJDK 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.shin 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

반응형