문제

우리는 java 프로그램을 필요로 하는 큰 금액의 힙 공간에 우리는 그것을 시작으로(다른 명령 라인에 인수)을 인수-Xmx1500m 지정하는 최대 힙 공간의 1500MB 입니다.시작할 때 이 프로그램에는 Windows XP 상자 갓 재부팅이 시작되고 실행하지 않고 문제입니다.그러나 만약 프로그램은 여러 번 실행하는 컴퓨터가 되었습니다 동안,etc., 를 시작하려고 할 때 나는 이 오류가 발생할 수 있습니다.

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

내가 의심되는 윈도우 자체 메모리에서 고통 조각,그러나 나는 하지 않는 방법을 알고 이를 확인하려면 의심.시간에는 이런 작업 관리자와 sysinternals procexp 보고서 2000MB 습니다.나는 보았 이 질문에 관련된 내부 분열

그래서 첫 번째 질문은지 확인하려면 어떻게 해야 하 나요?두 번째 질문입니다면,나의 심은정,사람을 알고의 도구가 이 문제를 해결하는가?봤어요 주위에 매우 비트,그러나 나는 아무것도 발견하지 않았는 이외의 다른 정기적인 재부팅 됩니다.

ps 변화하는 운영 시스템은 또한 현재 실행 가능한 옵션입니다.

도움이 되었습니까?

해결책

에 동의하 Torlack,많은 이 때문에 다른 Dll 을 로드 가로 특정 관광 명소,헤어 메모리의 양을 얻을 수 있습니다 VM 에서 하나 큰 덩어리.

당신은 몇 가지 작업을 수행 할 수 있습에 WinXP 의 경우 이상 3G 의 메모리의 일부를 얻을 수 windows 물건을 이동하고,보 PAE 여기:http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx

당신의 최선의 방법는 경우에,당신은 정말 이상이 필요 1.2G 을 메모리에 대한 java 응용 프로그램은 보고서 64 비트 윈도우 또는 리눅스 또는 OSX.만약 당신이 사용하는 모든 종류의 네이티브 라이브러리와 함께 당신의 응용 프로그램은 당신이 다시 컴파일해야 그들을 위한 64 비트이지만,그것의 기능을 가지고 있다.더 쉽게 하는 것 보다 용 dll 및 물건을 극대화하는 메모리에서 얻을 수 있는 32 비트 윈도우.

또 다른 옵션은 것을 나누어 프로그램으로 여러 Vm 고 그들과 소통 서로 서로를 통한 RMI 또는 메시지 또는 무언가이다.는 방법으로 각 VM 수 있는 몇 가지 하위 집합의 메모리 당신이 필요합니다.알 수없는 무엇인지,나는 확실하지 않다는 이 모든 방법으로 도움이 될 것입니다,하지만...

다른 팁

지 않는 한 당신은 당신의 페이지 파일이 공간,이 문제가 되지 않는 컴퓨터에서 실행 되는 메모리가 부족합니다.전체 포인트는 가상 메모리가 허용하는 프로세스를 사용하여 더 많은 가상 메모리보다 육체적으로 유효합니다.

하지 않는 방법을 알고 JVM 를 처리하는 힙,그것은 조금 어려운 말을 정확히 무엇이 문제이지만,일반적인 문제 중 하나가 없다는 충분한 연속 주소 공간에서 사용 가능한 프로세스를 허용하는 힙를 확장합니다.왜 이런 것이 문제가 될 후 기계되었습을 실행하는 동안 다소 혼란스럽습니다.

에 노력해 왔습 유사한 문제에서 작동합니다.내가 찾는 실행하는 프로그램을 사용하여 WinDBG 고 사용하는"!주소가"및"!주소-요약"명령 소중한되어 있고 추적하는 이유 프로세스 가상 주소 공간이 되는 조각이다.수도 있습 프로그램을 실행한 후 재부팅을 사용하여"!주소"라는 명령의 사진을 찍 주소 공간 및 동일한 작업을 수행할 때 더 이상 프로그램이 실행됩니다.이 수 있는 단서에서 문제입니다.어쩌면 간단한 무언가를 추가로 DLL 얻 선적 문제가 발생할 수 있습니다.

내가 의심되는 문제는 윈도우 메모리다.다른 질문입니다에 여기에서 유래 불 Java 최대 메모리 Windows XP 언급하는 프로세스를 사용하여 탐색기에서 보는 Dll 이 매핑되는 메모리로 다음 문제를 해결하기하여 리베 Dll 도록 부으로 메모리에서 더 콤팩트한 방법입니다.

사용 Minimem(http://minimem.kerkia.net/)해당 응용 프로그램에 대한 해결할 수 있습니다 당신의 문제입니다.그러나 나는 확실하지 않다는 이 대답은 당신이 찾고 있습니다.내가 도움이 되기를 바랍니다.

어쩌면 당신은 고려해야를 시작하는 프로그램 예약 메모리하지 end VM 각 후 실행됩니다.다른 GC 옵션을 출시합니다.

사용 vmmap Microsoft SysInternals 도구를 넣 조각의 가상 주소 공간,그리고 무엇을 식별을 깨고 공간

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top