2011-08-10 4 views
0

Eclipse와 intellij에서 os x의 JVM 힙 크기를보고 커맨드 라인을 통해 직접 응용 프로그램을 실행하면 다른 사람이 설명 할 수있는 이상한 행동이 나타납니다. 나는 일식에 대한 큰 무언가 (예 : 1기가바이트 이상)에 JVM 힙 크기를 설정 한 다음java os x heap size 질문

에서 System.out.println (Runtime.getRuntime()를 실행하는 안녕하세요 세계 응용 프로그램을 실행하는 경우

  1. . maxMemory());

최대 메모리는 129957888 (128MB)입니다. 내가 IntelliJ에에서 같은 실험을 실행하면

  1. , 나도 같은 결과를 얻을 수 있지만, 하단 모서리에 힙 크기 표시는 내가 아니라 내가 할 수있는 2기가바이트에서 100MB의 사용하고 말한다.

  2. 방금 ​​java test -Xmx1024mb를 실행하면 올바른 양의 최대 메모리가 있다고 알려줍니다. (많은 8 시간)

나는 10.6과 10.7에 이것을 시도하고 난 같은 일을보고 있어요, 그래서 IDE가 나는만큼 힙 크기를 소모 아니에요에 무슨 일이 일어나고 있는지 궁금하네요 그들을 원해. 나는 거기에 앉아있는 나의 기계에 램을 가지고있을 때 공간 오류로부터 힙을 얻고있다. 나는 이것을 우스꽝스럽게 찾는다.

누구나 제공해 주신 모든 도움에 감사드립니다.

답변

1

IDE가 프로그램을 실행하기 위해 시작하는 JVM 대신 IDE의 JVM에 대한 힙 크기를 설정하는 것처럼 들립니다. IDE가 실행중인 동일한 JVM에서 코드를 실행하면 위험 할 수 있습니다.

Eclipse에서 프로그램을 실행할 때 사용되는 기본 힙 크기는 128MB입니다. 실행 또는 디버그 구성으로이를 재정의 할 수 있습니다. 오른쪽은

  • 선택으로 실행을 실행하고자하는 주요 방법으로 자바 클래스를 클릭

    1. -> 실행 구성 ... 인수 탭 VM 인수 섹션에서
    2. 클릭, -Xmx256m
    3. 실행을 클릭

    위의 설정 256 MB의 JVM에서 사용 최대 힙 크기를 설정을 입력합니다.

    테스트 클래스의 결과는 이제 265093120이되어야합니다.