톰캣 8.5을 VisualVM과를 사용하고 검사에서 OutOfMemory Java 힙 공간은 내가 볼 로그 catalina.out 거의 때마다 (7 11 회 중 정도) 전체 GC 그 로그가 표시됩니다. OutOfMemory (정확히 같은 분). 톰캣으로자바 8 완전 GC와
매개 변수 메모리 관리를 함께 할 수있는 뭔가가 : 처음에는 MaxHeapFreeRatio = 100
: -Xms3G -Xmx = 6 세대 -XX : + UseG1GC -XX : + UseStringDeduplication -XX을 나는 그게 기본값이라고 생각했기 때문에 -XX : MaxHeapFreeRatio 값은 입니다. 힙 크기 (물론 사용 된 힙)는 크게 감소합니다. 전체 GC - ~ ~ 10-20 %입니다. 그러나 XX : MaxHeapFreeRatio = 100을 추가해도 문제가 해결되지 않았습니다. 이 비록
는 JVM의 다른 세트 메모리 사용량 그래프입니다 매개 변수 (구 JVM과 함께 일을 얻을 수없는 것은 ATM 매개 변수)가 전체 GC 메모리 후 방식과 유사 사용량 은 빠르게 증가합니다., 최대. 힙 크기와 최대 크기. 힙 크기가 떨어지지 않습니다.
이 일어날 수있는 이유가 뭘까요?
업데이트 : - ~ 5기가바이트 힙 크기 가도 완전하지 때 나는 및 이 에서 OutOfMemory이 일어날 것 이전에 전체 GC 언급하는 것을 잊었다. 그 당시에는 한 번도 아니었지만 힙이 6GB에 도달하는 것을 보았습니다.
이러한 JVM GC 매개 변수를 조정해야합니다. http://blog.sokolenko.me/2014/11/javavm-options-production.html – duffymo
이와 같은 질문을하기 전에 프로파일 링을 수행하십시오. 예를 들어 YourKit을 사용할 수 있습니다. 경우에 따라 GC가 너무 많은 오브젝트를 생성하여 릴리스 할 수없는 상황이 발생할 수 있습니다. – tsolakp