2013-07-02 4 views
1

웹 응용 프로그램에서 VisualVm을 사용하여 프로파일 링을 수행하고 있지만 샘플러 탭에서 메모리 버튼을 사용할 수 없습니다. 나는 윈도우 8, 톰캣 7, VisualVM과 1.7.0_09 (120605 구축), 나는 현재 사용자 일부 (실행 바람둥이 서비스를 시도했습니다 1.6.0_11VisualVM - Windows 8의 메모리 샘플링 - 서비스 인 Tomcat 7

JDK 사용하고

는 카탈리나의 온도를 설정 visualvm과 같은 방식으로) workarounds하지만 아무 것도 작동하지 않는 것 같습니다, 나는 어딘가에 비스타 후에 이것이 작동하지 않는 것 같습니다.

이 시나리오에서 메모리 프로파일 링을 수행 할 수 있습니까?

답변

1

내 Tomcat에서 동일한 버전의 Java JDK 및 Java JRE를 사용하는 것과 동일한 상황에서 나를 도왔던 점이 도움이되었습니다. Tomcat이 JDK 1.6.0_45 및 JRE 1.6.0_20을 사용하고 있음이 밝혀졌습니다.

는 "자바 -version는"

는 JDK를 가리키는 두 개의 시스템 변수 만들기 "javac의의 -version을"시스템 열기 콘솔에서 JDK 버전을 확인하고 기록하려면 시스템 콘솔 열기에 JRE 버전을 확인하고 작성하려면 예를 들면 JRE 위치 : 경로
JAVA_HOME 변수 "C : \ 프로그램 파일 \ 자바 \ jdk1.6.0_45"경로
JRE_HOME 변수 "C : \ 프로그램 파일 \ 자바 \ JRE6"

편집 " 경로 "시스템 변수에 추가하고이 문자열을 해당 값의 끝에 추가하십시오."% JAVA_HOME %/bin; % JRE_HO ME %/bin "

시스템에서 Relog를 실행하면 시스템 변수가 작동합니다.

catalina.bat의 코멘트 섹션에 명시된

Tomcat은 자동으로 그 시스템 변수를 사용합니다 : 당신이 변수가 설정되어 JRE_HOME 있는지 확인하는

폴더 바람둥이 \ bin 및 실행에
JAVA_HOME  Must point at your Java Development Kit installation. 
       Required to run the with the "debug" argument. 

JRE_HOME  Must point at your Java Runtime installation. 
       Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME 
       are both set, JRE_HOME is used. 

이동을 파일 "catalina.bat" 바르게.

팁 : Tomcat의 bin 폴더에 "setenv.bat"파일을 가지고 있다면 그것은 당신의 시스템을 덮어 쓰기 때문에, 그것은에서 "설정"JRE_HOME = ... "같은 것도"이 없는지 확인 변수와 그 당신은 원하지 않아.

VisualVM -> 톰캣 인스턴스 -> 개요 -> 시스템 프루티 -> 텍스트 편집기로 복사하여 "jdk"및 "jre"단어를 검색하십시오. 옆에있는 버전이 이제 일치해야합니다.

메모리 프로파일 링을 지금 사용할 수 있어야합니다.