2014-06-13 4 views
8

우리는 프로덕션 환경에 JRE가 설치되어 있지만 JDK는 설치되어 있지 않습니다. JRE 및 OS의 버전은 다음과 같습니다.JRE 만 사용하여 힙 덤프를 생성하려면 어떻게합니까?

[[email protected] ~]$ java -version 
java version "1.6.0_45" 
Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) 
[[email protected] ~]$ uname -a 
Linux mymachine.mydomain.com 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

은 "jmap는"도구는 어디서나 시스템에 존재하는 것처럼이 나타나지 않으며, 루트 액세스하지 않고, 내가 어떤 시스템 위치에 설치 할 수있는 위치에 아니에요. 힙 덤프 (예 : .hprof 파일 생성)를하려면 어떻게해야합니까?

또한 중요한 경우 JBoss 7.1.3.AS를 사용하고 있습니다.

+0

JDK가 필요하다고 생각합니다. 다른 솔루션이 있는지 잠시 기다려주십시오. – kosa

+1

jre 7부터 oracle은 이러한 도구가 포함 된 server-jre 어셈블리를 제공합니다. http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html –

+0

잘 알고 있습니다. 현재로서는 JRE를 무의미하게 업그레이드하는 옵션이 없습니다. – Dave

답변

7

jmap, jconsolejvisualvm과 같은 기본 제공 도구는 JDK에서만 사용할 수 있습니다. 또 다른 옵션은 VM 인수 -XX:+HeapDumpOnOutOfMemoryError을 추가하여 OutOfMemoryError가 발생할 때 힙 덤프를 자동으로 생성하도록 지시하고 힙 덤프의 경로를 지정하는 -XX:HeapDumpPath 인수를 지정합니다.

서버 JRE 7 (http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html)과 같은 도구를 사용하도록 JRE를 업그레이드 할 수없는 경우 JProfiler 또는 here과 같은 타사 프로파일 링 도구를 고려해야 할 수 있습니다.

+0

힙 덤프를 생성 할 수있는 jmap 이외의 다른 도구가 열려 있습니다. 것은 내 홈 디렉토리에서 실행할 수 있어야합니다. – Dave

+0

아마도 여기서 타사 프로파일 러가 유용 할 것입니다. 답변이 업데이트되었습니다. – manouti

0

유일한 방법은 로컬 SDK6을 압축하여 서버의 어딘가에 배치하는 것입니다. 그런 다음 원격 콘솔을 열고 해당 SDK의 bin 디렉토리에서 JRE를 덤프하십시오.

클라이언트가 실행 파일 업로드를 금지하면 운이 좋지 않습니다.

관련 문제