jar 파일을 실행하려고하지만 jvm 최대 힙 크기를 처리하려고합니다. 크기 최대 헤드 크기를 80MB로 설정하기 위해 -Xmx80m 매개 변수를 사용합니다.자바 최대 힙 크기 및 OS 상위 출력
내 Linux OS의 "top"명령을 사용하여 응용 프로그램의 메모리 할당을 모니터하고 jvm이 -Xmx param (java -Xmx80m -jar myapp.jar)보다 많은 메모리를 사용하는 것에 놀랐습니다. 더 구체적으로 내 최고 출력에서
VIRT : 257m
RES : 나는 RES는 최대 80메가바이트에서 내 응용 프로그램 ""메모리 부족 예외를 생각하다 것 80메가바이트의 JVM보다 더 필요로하는 경우되어야한다고 생각 109m
(또는 something like this)
내 응용 프로그램에서 외부 라이브러리를 사용하고 있습니다. 이 라이브러리는 param으로 지정한 힙과 별개로 자체 메모리를 사용합니까?
어쨌든 내가 매개 변수로 설정 한 것을 극복하지 않기 위해 jvm의 메모리 사용을 어떻게 제한 할 수 있습니까?
업데이트 :
ulimit (unix 명령)을 사용하여 JVM에서 사용하는 리소스를 제한하는 것이 좋은 해결책입니까?
내가 사용하고 있습니다 :
자바 버전 "1.7.0_02"
자바 (TM) SE 런타임 환경
자바 핫스팟 (TM) 서버 VM (22.0를 구축 (1.7.0_02이-B13 구축) -b10, 혼합 모드) 당신은 -Xmx
는 JVM에 의해 사용되는 총 메모리에 하드 제약을 줄 것이라고 기 대해서는 안 페도라 8 PC
"heap size"! = "JVM에서 사용하는 메모리". 그런데, 어떤 JVM/버전을 사용하고 어떤 플랫폼에서 이러한 경우 중요합니다. – Viruzzo