2010-06-22 5 views
7

분명히 너무 많은 메모리를 사용하는 .JAR을 가지고 있으며 "Java heap space"(또는 이와 비슷한) 예외가 발생합니다. Java 힙 공간 Xmx Xms 매개 변수가 무시되었습니다.

그래서 나는이 같은 CMD를 통해 .JAR을 실행하려고 :

C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m 

문제가 해결되지 않았다. 같은 오류. 이제 Windows 작업 관리자에서 프로세스 탭을 확인할 때 매개 변수없이 실행하는 것과 마찬가지로 요청한 것보다 내 jar 프로세스에 필요한 메모리가 훨씬 적다는 사실을 발견했습니다.

왜 매개 변수가 무시됩니까?

또한 예외는 프로세스가 메모리 사용량이 100MB에 도달 할 때 발생한다고 생각합니다. GC가 메모리를 확보하려고 할 가능성이 있으며 문제의 원인이 무엇입니까? GC를 막기 위해 설정할 수있는 매개 변수가 있습니까?

감사 말기 :)을 매개 변수로

+0

* "..."Java 힙 공간 "(또는 이와 유사한) 예외가 발생합니다."* How .... helpful. 실제의 예외는 무엇입니까? –

답변

23

명령

javaw -jar MyJar.jar -Xms64m -Xmx128m 

-Xms를 사용합니다 ... 그리고 -Xmx ... "메인 (문자열 []에 args)"방법.
매개 변수-는 JVM은 -jar 부분 전에 통과해야합니다

javaw -Xms64m -Xmx128m -jar MyJar.jar 
그 이유는 우리가 "자바 -version"실행할 때 볼 수 있습니다

:

Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 

당신의 매개 변수를 -Xms ... 및 -Xmx ...는 JVM에 대한 옵션입니다.

관련 문제