2010-07-25 2 views
1

프로그램의 메모리 사용량을 프로파일하려고하지만 스택 오버플로 오류가 계속 발생합니다.netbeans java profiler가 ~ 64MB의 힙 오버플로 오류로 어떻게 고장 났습니까?

-Xms256m -Xmx512m 

Here is screen shot 다음과 같이 내가 사용하고

-J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m 

프로젝트 메모리 설정은 다음과 같이 내가 사용하고

넷빈즈 메모리 설정은 다음과 같습니다.

65MB가 어디서 오는지 확실하지 않습니다. 누군가 나를 도울 수 있습니까? 당신은 넷빈즈 자체에 대한 -Xmx. (최대 힙 크기)을 넣어하지 않았다 넷빈즈 6.5

+0

사용중인 Java 버전과 실제 메모리 용량은 얼마나됩니까? –

답변

0

, 기본값은 64메가바이트입니다 :

는 Grae

PS, 감사합니다.

+0

정확하지 않습니다. NetBeans는 물리 메모리에 따라 -Xmx를 동적으로 조정합니다 (예 : 4GB 머신에서 최대 힙을 768M으로 설정). –

0

이 65M 캡은 응용 프로그램에서 나옵니다. NetBeans와는 아무런 관련이 없습니다. 이 OOME을 제거하려면 응용 프로그램의 최대 힙을 늘려야합니다.

또한 생존하는 세대가 지속적으로 증가하고있어 메모리 누출 가능성이 매우 높습니다.

+0

Netbeans을 사용하여 참조 할 수있는 방법을 알고 있습니까? 누출을 찾는 것. 내 연구에서 나는 이것이 클래스 로더 문제라고 생각한다. –

+0

첫째, 응용 프로그램이 충돌하면 NetBeans 또는 다른 heapwalker (예 : MAT)에서 직접 열 수있는 힙 덤프가 생성되어야합니다. 거기에서 새는 클래스를 지역화 할 수 있습니다. 그런 다음 http://netbeans.org/kb/articles/nb-profiler-uncoveringleaks_pt1.html을 사용하여 새는 인스턴스에 대한 할당 장소를 정확히 찾아보십시오. –

+0

감사합니다. 링크 –