2013-03-14 4 views
1

힙이 비어있을 때 빈번한 전체 GC를 표시하는 GC 로그 파일이 있습니다 (처음 30 분마다, 20 분, 10, 5 분마다 몇 이벤트가 발생합니다. 하지만 힙 사용량이 갑자기 증가하는 것을 볼 수 있습니다 (사용자가 내 응용 프로그램에 연결하기 시작한 순간에 상상할 수 있음) 전체 GC 이벤트가 덜 자주 발생하기 시작합니다. 이유가 무엇인지 생각할 수 없습니다. . 발생할 수 있습니다힙이 빈번한 빈번한 전체 GC

을 내가 오라클 VM 1.6, 내 시작 스크립트를 사용하고 있습니다 것은 : 도움이된다면

java -XX:+HeapDumpOnOutOfMemoryError \ 
    -Xmx7500m \ 
    -XX:HeapDumpPath=../logs \ 
    -verbose:gc \ 
    -XX:+PrintGCDetails \ 
    -XX:+PrintGCTimeStamps \ 
    -Xloggc:/app/diffusion/Logs/gc.log \ 
    -Dcom.sun.management.jmxremote \ 
    -Dcom.sun.management.jmxremote.ssl=false \ 
    -Dcom.sun.management.jmxremote.authenticate=false \ 
    -Dcom.sun.management.jmxremote.port=2000 \ 
    -cp ../lib/diffusion.jar:../etc:../data com.pushtechnology.diffusion.Diffusion $1 

답변

0

볼, 명시 적 GC를 중지 해보세요 -XX:+DisableExplicitGC.

그런 다음 스레드는 힙이 비어있을 때 정말 응용 프로그램에서 실행 아무것도 없다는 것을 확인 덤프 수집 할 수 있습니다.