2012-11-22 2 views
1

을 처리하는 방법은 다음과 같은 오류 얻을 잠시 후 :내가 메이크 파일을 실행하고 java.lang.OutOfMemoryError와

java.lang.OutOfMemoryError 

내가 나를 자바 힙 을 증가 할 수있는 명령이 있는지 궁금에게 공간. 나는 메이크 파일 자체를 바꾸고 싶지 않다. 그래서 나는 어떤 종류의 "global"명령을 써야 자바 힙 공간을 재설정 할 수있다.

많은 감사, 패트릭

편집 : 귀하의 답변을 주셔서 감사합니다.

SET의 JAVA_HEAP_SPACE = 5기가바이트

감사

+0

비슷한 질문 : http://stackoverflow.com/questions/417152/how-do-i-set-javas-min-and-max-heap-size-through-environment-variables –

+0

그것은이다 정확한 복제본 http://stackoverflow.com/questions/417152/how-do-i-set-javas-min-and-max-heap-size-through-environment-variables – Jayan

+0

32 비트 Windows 버전이 아니라면, 그것은 당신의 기억의 최대 1/4을 가져야한다. 이것이 충분하지 않다면 빌드에 이상한 것이 있습니다. 전체 OpenJDK 소스도 기본 설정으로 컴파일 할 수 있기 때문입니다. BTW : Maven은 Java 빌드를 만드는 것보다 훨씬 더 나은 선택입니다. –

답변

4
  • 당신은 설정할 수 있습니다 :하지만 나를 한 번 힙 공간을 설정하기 위해 지정하고 모든 등에 수 있다는, 더 글로벌 명령을 찾고 있어요 명령 행에서 자바 힙 공간 : java -Xmx1600m program 힙 공간은 1600MB입니다. (하드웨어가 이미 1600MB를 쓸 수 있다고 가정하십시오.)

  • Windows 플랫폼의 경우 Java Runtime Environment 설정도 마찬가지입니다. 제어판 => 프로그램 => Java을 따르십시오. Java 탭으로 이동하십시오. Java Runtime Environment 설정을 봅니다. 런타임 매개 변수에 -Xmx1600m을 추가하십시오. 저장하고 계속하십시오.

  • Linux 플랫폼의 경우 제어판을 실행하고 런타임 매개 변수를 편집 할 수 있습니다. /usr/j2se/jre/bin/ControlPanel과 같은 것으로부터 실행할 수 있습니다. 자신의 디렉토리를 찾으십시오. 여기하시기 바랍니다 읽기 : http://docs.oracle.com/javase/7/docs/technotes/guides/deployment/deployment-guide/jcp.html

+0

예,하지만 이것은 makefile을 변경해야한다는 것을 의미합니다. 여기서 makefile이 실제로 실행됩니다.나는 이것을 원하지 않는다. 나는 실행 된 모든 Java 프로그램에 대해 Heap을 설정할 수 있는지 궁금하다. ... – Patrick

+0

불행히도 나는 명령 행을 사용하여 리눅스에있다. Windows와 비슷한 기능이 있습니까? – Patrick

+0

@ Patrick Linux 용 솔루션도 추가했습니다. 다시 확인해주세요. – Juvanis

1

는 다음과 같은 명령을 사용할 수 있습니다 :이 예에서

java -Xms64m -Xmx256m ClassName 
Xms<size>  set initial Java heap size 
Xmx<size>  set maximum Java heap size 

을 64메가바이트 및 최대 힙 크기로 설정 초기 힙 크기는 2백56메가바이트로 설정됩니다. 자세한 내용은 this을 확인하십시오.

0

질문이 명확하지 않지만 응용 프로그램에서 더 많은 메모리를 사용할 수 있도록 JVM 시작 매개 변수로 -Xmx 플래그를 찾아야합니다. 자세한 내용은 here을 읽으십시오. Java 응용 프로그램의 프로파일 링을 수행하고 사용 가능한 메모리의 대부분이 소비되는 곳을 확인해야합니다. JProfiler (Java 응용 프로그램을 프로파일 링하는 도구에 관한 Google)를 사용하여 프로파일 링하고 응용 프로그램의 어느 부분이 더 많은 시스템 자원을 소비하는지에 대한 통계를 볼 수 있습니다.