Tomcat 응용 프로그램에서 "OutOfMemoryError : GC 오버 헤드 한도를 초과했습니다."라는 메시지가 표시됩니다. Runtime.getRuntime().freeMemory()
보고 576 메가 바이트는 무료입니다.OutOfMemoryError (GC 오버 헤드 한도를 초과했지만) 여유 공간이 많습니다.
어떻게 이런 일이 발생할 수 있습니까?
SQL Server JDBC 드라이버에서 오류가 발생합니다.이 오류로 인해 한 메모리 요청에서 수백 메가 바이트가 할당됩니다. 그리고 "PS Scavenge"에 대한 GarbageCollectorMXBean
의 카운트와 "PS MarkSweep"은 오류가 발생하기 몇 분 전에 크게 증가하지 않았습니다.
Runtime.getRuntime().maxMemory()
및 Runtime.getRuntime().totalMemory()
보고 4.5GB. 이것은 Java 7 용 64 비트 Sun JVM에서 실행 중입니다.
stacktrace please –
전체 스택 추적을 붙여 넣으십시오. 힙 고갈 또는 perm gen으로 인해 메모리가 부족합니다. 또는 뭔가 다른 ... – Scorpion
이 답변을 도움이 될 수 있습니다 : http://stackoverflow.com/a/1393503 -이 특정 OutOfMemoryError의 의미를 설명합니다 – konradstrack