2012-07-28 2 views
3

내 응용 프로그램의 상황을 파악하려고합니다.GC 힙 크기 조정 및 프로그램 메모리 오버 헤드

문제 : 나는 시리얼 GC (또는 UseParNewGC) 및 공격적 힙 비율을 사용하고 있기 때문에

  • GC의 호출이 정상적으로만큼 사용되지 않는 힙 크기를 감소시키지 않지만, 그것은해야한다.

  • 사용중인 프로그램의 메모리가 항상 심지어는 다른 JVM 메모리가

명령 줄을 사용 + 힙 포함 내 생각에 너무 많이, 현재 사용하고 사용되지 않는 힙보다 훨씬 더 큰

  • :

    을 UseParNewGC으로 시도

    java -XX:+UseSerialGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -Xmx2500M -cp XXXXXX.jar xxxx.xxxx.xxxx pause 
    , 동일한 결과

    시스템 : S Win7에 P1 4기가바이트 RAM + 4GB의 2.99GHZ 스왑 자바 1.7 + JDK 1.7

    사진이 더 명확 물건을 만들기 위해 참조하십시오 , 무료 비율을 설정 크기로 New Generation을 설정하려고하기보다는 http://i.stack.imgur.com/i3sxw.jpg

  • +0

    달성하려는 목표는 무엇입니까? – ssedano

    답변

    1

    그 단명 개체가 죽을 수 있습니다. 가능한 한 적은 수의 광고를 Old Generation에 올리려고합니다.

    큰 숫자 Young Generation은 큰 컬렉션으로 바뀌므로 유의하십시오.

    그런 다음 최대 Old Generation을 전체 GC까지 오랫동안 걸리지는 않지만 항상 실행하지 않는 크기로 설정하십시오.