2012-08-03 5 views
3

아직 활성화되지 않은 창 (해당되는 경우)에서 브라우저 (IE의 경우 중요)에서 실행되는 응용 프로그램이 있습니다. JVM 제어판에서 환경 변수를 -Xms5m -Xmx5m으로 설정했습니다 (-Xms16m 및 -Xmx16m도 수행했습니다).JVM 옵션 -Xms 및 -Xmx가 무시됩니다.

응용 프로그램을 실행하고 jconsole을 사용하여 프로세스의 PID를 모니터링하면 힙 공간 오류가 발생하는 것보다 (특히이 오류가 발생하는 경우) 내 설정 힙보다 훨씬 많이 사용하고 있음을 알 수 있습니다. jconsole에 따라 15-20MB를 사용합니다. 컴퓨터를 재부팅 한 후 모든 브라우저에서이 옵션을 설정했습니다.

매개 변수가 무시되는 이유를 아는 사람이 있습니까?

누락 된 정보가 있으면 알려주십시오.

jconsole은 특별히 힙 메모리 사용량이이 20MB임을 나타냅니다. 나는 JVM, 라이브러리, 스택 등의 로딩으로 인해 더 많은 메모리가 사용될 수 있다는 것을 잘 알고 있습니다. 내가 가지고있는 문제는 힙이 내가 사용해야하는 힙 크기를 초과한다는 것입니다.

-Xmx16m 옵션이 환경 변수에 설정되는 유일한 옵션 인 경우에도 Java VisualVm에 나열되지 않습니다 (Java VisualVm이 업데이트되고 있는지 확인하기 위해 -Xms16m을 제거한 경우조차도 -Xms16m이 표시됩니다. 심지어 -Xmx16m은 그렇지 않습니다). 아무도 이것이 왜 그런지 알 수 있습니까?

Java RE 버전 6을 27에서 31까지 사용해 보았는데 모두 Java VisualVm 옵션에서 Xmx 옵션이 누락되어 있으며 모두 -Xms16m 만 있습니다.

+0

값을 전달하는 방법은 무엇입니까? –

+0

제어판을 열고 자바를 검색하여 선택하고 자바 탭으로 이동하여보기 버튼을 클릭하고 마지막으로 런타임 매개 변수를 설정 한 다음 (확인, 적용, 브라우저 종료, 컴퓨터 다시 시작 등) 값을 전달했습니다. . –

+0

가능한 복제본 http://stackoverflow.com/questions/6450132/java-seems-to-ignore-xms-and-xmx-options – kgautron

답변

2

여러 번 대답 했으므로 (지금은 링크를 찾을 수 없습니다.) 런타임 매개 변수는 프로그램에서 할당 할 수있는 메모리 양 ()을에서 힙으로 제어합니다. JRE 자체가 더 많은 메모리를 사용하여 힙을 관리하므로 프로그램에서 사용하는 실제 메모리의 양과 일치하지 않습니다 (-Xms-Xmx).

+0

jconsole을 사용하여 힙 메모리 사용을 확인하고 있으며 jconsole이 나를 제공하고있을 가능성이 있습니다 잘못된 판독 값이지만 응용 프로그램과 함께 사용하는 에뮬레이트 된 터미널이 나와 같은 정보를 말하고 있습니다. 힙 메모리 사용량을 확인하는 데 사용할 수있는 다른 도구는 무엇입니까? –

+2

귀하의 분노가 적절하다고 생각하지 않습니다. 그는 JConsole을 사용하여 힙의 크기를 결정합니다. JConsole은 JVM 구성 매개 변수를 전달할 때 실제로 문제가 있음을 나타내는 정확해야합니다. – Confusion

관련 문제