8GB RAM이있는 Windows 2003 서버 (64 비트)에서 작업하고 있습니다. 힙 메모리를 최대로 늘리려면 어떻게해야합니까? -Xmx1500m
플래그를 사용하여 힙 크기를 1500Mb로 늘립니다. 힙 메모리를 실제 메모리의 75 % (6GB 힙)로 늘릴 수 있습니까?
8GB RAM이있는 Windows 2003 서버 (64 비트)에서 작업하고 있습니다. 힙 메모리를 최대로 늘리려면 어떻게해야합니까? -Xmx1500m
플래그를 사용하여 힙 크기를 1500Mb로 늘립니다. 힙 메모리를 실제 메모리의 75 % (6GB 힙)로 늘릴 수 있습니까?
답변:
32 비트 시스템에서 4GB로 늘릴 수 있습니다. 64 비트 시스템을 사용하는 경우 더 높아질 수 있습니다. 32 비트 시스템에서 5g를 요청하면 java는 잘못된 값에 대해 불평하고 종료됩니다.
다른 사람들이 게시했듯이 cmd-line 플래그를 사용하십시오.
java -Xmx6g myprogram
java -X를 입력하여 전체 목록 (또는 거의 전체 목록)을 얻을 수 있습니다.
Eclipse에서 직접 JVM이 할당 한 힙 크기를 증가시킬 수 있습니다.
실행 ----> 실행 구성 ----> 인수
-Xmx1g를 입력하십시오 (Xmx256m 또는 Xmx1g와 같은 최대 크기를 설정하는 데 사용됩니다 ....... m-> mb g ---> gb)
아래와 같이 JVM 매개 변수 -Xms 및 -Xmx를 전달하여 힙 크기를 늘릴 수 있습니다 .
Jar 파일의 경우 :
java -jar -Xms4096M -Xmx6144M jarFilePath.jar
Java 파일의 경우 :
java -Xms4096M -Xmx6144M ClassName
위의 매개 변수는 InitialHeapSize (-Xms) 를 4GB (4096MB)로, MaxHeapSize (-Xmx) 를 6GB ( 6144MB )로 늘립니다 .
그러나 젊은 세대 힙 크기는 동일하게 유지되며 추가 HeapSize는 이전 세대 힙 크기에 추가됩니다 . 하기 위해서는 젊은 세대 힙 올드 세대 힙의 크기를 동일하게 사용 NewRatio = 1 -XX : -UseAdaptiveSizePolicy -XX PARAMS합니다.
java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar
-XX : NewRatio = Old Gen Heap Size : Young Gen HeapSize (원하는 비율을 얻기 위해이 비율로 재생할 수 있습니다).
힙 메모리를 실제 메모리 (6GB 힙)의 75 %로 늘릴 수 있습니까?
그래 넌 할수있어. 실제로 원하는 경우 실제 메모리 양보다 더 많이 늘릴 수 있습니다.
이를 수행하는 것이 좋은지 여부는 시스템에서 실행중인 다른 양에 따라 다릅니다. 특히, 현재 실행중인 응용 프로그램 및 서비스의 "작업 집합"이 사용 가능한 실제 메모리를 크게 초과하면 시스템이 "쓰레기"되어 가상 메모리 페이지를 디스크간에 이동하는 데 많은 시간이 소요됩니다. 결과적으로 시스템이 엄청나게 느려집니다.
아래 명령을 사용하여 힙 크기를 6GB로 변경하십시오.
export JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"
여러 사람들이 -Xms
및 jvm 옵션을 사용하여 힙 크기에 대한 특정 답변을 지적했습니다 -Xms
. 이것이 jvm에 대한 유일한 유형의 메모리 옵션은 아니라는 점을 지적하고 싶습니다. 특히 스택 오버 플로우를 얻는 경우와 같은 추가 옵션을 추가하여 스택의 크기를 늘리고 싶을 것 -Xss8m
입니다.
이 문제의 경우 jvm 옵션과 같은 -Xms2g -Xmx6g -Xss8m
솔루션이 있습니다.
Google에서 jvm 메모리를 늘리는 방법에 대한 검색 에서이 솔루션으로 이동 했으며이 솔루션이 많은 양의 메모리 할당으로 작동하지 않았 으므로이 정보를 공유하고 있습니다. 특정 설정이 무엇인지 파악한 후에는 Google에서 스택 크기를 늘리고 누락 된 매개 변수를 찾는 방법을 알 수있었습니다. :) 이것이 많은 시간을 절약 할 수 있기 때문에 다른 사람들의 시간을 절약하기를 바랍니다. :)
이것은 64 비트 버전의 Java에서만 작동합니다. 제어판으로 이동하여 Java 아이콘을 클릭하십시오. Java 제어판의 작은 창에서 Java 메뉴 표시 줄을 클릭 한 다음view
버튼 .
두 개의 Java 플랫폼이있는 경우 이전 버전의 Java를 사용하지 않도록 설정 한 후 런타임 매개 변수 텍스트 필드 를 클릭하고 -Xmx1024m
RAM 크기 이하로 작성하십시오 . RAM과 같은 힙 크기를 늘리지 않으면 시스템이 중단됩니다.
예. 당신은 할 수 있습니다.
힙 메모리를 실제 메모리의 75 % (6GB 힙) 이상으로 늘릴 수 있습니다.
64 비트를 사용하므로 힙 크기를 원하는 양으로 늘릴 수 있습니다. 32 비트를 사용하는 경우 4GB로 제한됩니다.
$ java -Xms512m -Xmx6144m JavaApplication
초기 힙 크기를 512mb로 설정하고 최대 힙 크기를 6GB로 설정합니다.
그것이 도움이되기를 바랍니다 .. :)
-Xmx6g
? 작동하지 않습니까? 무엇을 관찰 했습니까?