2008-09-22 7 views
1

VmWare 인스턴스에서 앱을 실행하는 중에 Java 기본 가비지 수집기에 문제가 발생 했습니까?VMWare 서버의 Java 가비지 수집

VmWare 변수와 관련이있는 경우 전체 가비지 수집이 예상보다 자주 실행되지 않는 문제가 발생합니다.

+0

* 쓰레기 - 교정 해주십시오. – GEOCHET

+0

당신이 말하는이 VMWare 변수는 무엇입니까? –

답변

1

일반적으로 가비지 수집기는 실제로 필요할 때만 전체 GC를 실행합니다. 그 이유는 시간이 많이 걸리기 때문입니다. 훨씬 적은 시간이 소요되는 더 작은 GC를 시도합니다. 대부분의 경우, 이것은 좋은 전략 인 것 같습니다.

트위 킹하려는 경우 몇 가지 여분의 GC 플래그가 VM에 추가 될 수 있습니다. See this 추가적으로 클라이언트 VM이 아닌 서버 VM을 실행하고 있는지 확인하는 것이 좋습니다.

실제 질문은 당신이 습득하려는 것입니다. 메모리가 부족하다면 아마도 GC 때문이 아닙니다. 그것 아마도 Memory leaks 때문에, 그리고 네, 당신은 메모리 관리 환경에서 그들을 만들 수 있습니다. 그들은 조금 다릅니다.

0

본인은 본 적이 없지만 실행중인 VMware 버전 및 프로세서 유형에 따라 가상 머신 클럭이 실시간보다 훨씬 빠르게 (또는 느려질 수 있음) 물론 이는 물론 가비지 콜렉션이 실행되는 간격에 영향을줍니다.

타임 키핑 문제에 대한 높은 수준의 개요와 가능한 한 실시간으로 VM 시간을 유지하는 방법에 대한 제안은 VMware 논문 Timekeeping in VMware Virtual Machines을 참조하십시오.

1

VmWare 인스턴스에서 Java의 가비지 수집에 대한 명백한 문제를 발견하지 못했습니다. Netbeans 프로파일 러 또는 YourKit과 같은 좋은 프로파일 러를 사용하여 응용 프로그램을 프로파일 링하여 메모리 누수가 없는지 확인하는 것이 좋습니다. 우리가 누수를 제거하고 나면 쓰레기 수거에 대해 걱정할 필요가 없었습니다. 일부 가비지 수집기는 내가 사용하는 CPU 사용량에 따라 다릅니다. 여하튼 Java 6 가비지 콜렉션 조정에 대한 내용은 here을 참조하십시오. 이전 버전의 VM에도 비슷한 문서가 존재합니다.