대용량의 데이터를 처리해야하는이 Java 시뮬레이터가 있습니다. 그것은 잘 작동하지만 하나는 다른 큰 배열과 함께 int[100000][100][2]
의 배열까지 일어난다. 프로그램은 그 메모리가 부족하다고 말합니다. (Java.lang.outOfMemoryError
)힙 공간을 채우기 전에 Java 충돌이 발생했습니다.
괜찮아요. 더 많은 메모리를 제공하지만, 2GB를 허용하더라도 항상 ~ 300M 정도가 부족한 것처럼 보입니다. 이것은 모두 작업 관리자를 보는 것입니다.
내 시스템에 문제가 있습니까? 아니면 처리해야 할 Java 항목입니까?
@DanielPryden
OS : 윈 보드의 램
JVM 명령 7 32 비트 4기가바이트 : 자바 -Xmx2048m -Xms2048M 시뮬레이터
오류 데이터 :가 IDE에서 얻을 수 있었다 (IntelliJ를 사용) . 나는 cmd에서 그것을 어떻게하는지 모른다. 나는 이것이 당신이 찾고있는 것이라고 생각합니다.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at Simulator.main(Simulator.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
큰 힙 크기를 지정하려면 java를 실행할 때 -Xmx2GB 플래그를 사용하고 있습니까? –
'어떻게 할 수 있습니까? -Xmx로? 그게 효과가있다. –
cmd에서 실행중인 -Xmx2048M -Xms2048M을 사용합니다. –