2014-11-24 3 views
0

내 응용 프로그램에 메모리 누수가 의심됩니다. 나는 GC 로그를 가지고 있고 그것들을 볼 때 메모리 사용량이 약 9-10GB임을 알 수있다. 그런 다음 메모리에 파일을 덤프하려고하면 파일 크기는 약 5GB입니다.JRockit 전체 메모리 덤프

덤프가 9GB 크기가 아니라 5GB 만있는 이유는 무엇입니까? jrcmd가 전체 메모리를 덤프하도록하려면 어떻게합니까?

명령 내가 사용하는 :

jrcmd 11906 hprofdump filename=/path_to_dump/dump.hprof 

JVM이 :

Java(TM) Platform, Standard Edition for Business (build 1.5.0_28-b04) 
Oracle JRockit(R) (build R28.1.3-11-141760-1.5.0_28-20110301-1432-linux-x86_64, compiled mode) 

업데이트

: 9기가바이트 아래 문제 인해 GC 로그에 메모리 수준까지 해제되지 않습니다 것을

입니다

그 . JDK 도구가 5GB까지 잘린 덤프. 왜?

답변

0

JRockit은 HotSpot과 비슷한 동작을한다고 가정합니다. 라이브 데이터 세트가 5GB이면 덤프도 5GB뿐입니다. 나는 당신의 9-10 중 단지 5 GB가 살고 있다고 가정합니다.

+0

GC 로그로 인해 메모리가 9GB 이하로 해제되지 않습니다. 왜 그 쓰레기는 GC에 의해 해제되지 않고 도구로 생략됩니까? – lbednaszynski

+0

전체 GC 또는 증분 GC가 있습니까? 증분 GC가 모든 쓰레기를 지우지 않을 것으로 예상됩니까? –

0

GC 기록은 어떻게 생깁니 까?

그런데 Memleak이라는 JRockit Mission Control 도구를 사용해 보셨습니까? 메모리 누수를 찾는 데 유용 할 수 있습니다.