22. september 2010 - 09:22Der er
6 kommentarer og 1 løsning
java.lang.outofmemoryerror: Java heap space
Hej
Jeg er komplet novice til java og var som sådan heller ikke klar over at jeg brugte det i min kode (jeg koder i matlab og et af de programmer jeg kalder må således bruge det). Anyway, jeg kører en løkke med omkring 100000 iterationer og har ikke haft problemer med denne før, men idag fik jeg en "java.lang.outofmemoryerror: Java heap space"-fejl.
Efter at google lidt rundt er jeg med på at der ikke er allokeret nok plads i java til at håndtere min opgave. Da jeg dog har kørt meget større loops med denne kode er mit første spørgsmål: Kan dette blot skyldes at computeren skal rebootes? (Den har stået og kørt loops med disse 100000-150000 iterationer 2 dage i træk (hver udregning tager ca 8 timer).
Hvis dette ikke er løsningen, så er der vel altid muligheden for at gøre følgende: java -Xms32m -Xmx128m men da jeg aldrig har rørt java direkte før er jeg ikke klar over hvor jeg skal skrive dette. Alle hjemmesider skriver bare at man skal skrive det... jojo... men hvor? Desuden forudsætter det at man ved hvor meget man vil skrue memory'en op, og dermed også at man ved hvor meget den VAR, så er der en eller anden kommando der kan afklare hvad den nuværende heap size er?
Spørgsmålet er vel som sådan ikke svært, men jeg vil meget gerne have det løst hurtigt, så den får lige 60 point!
Men hvordan ved jeg hvor meget jeg kan skrive? Og hvordan ser man hvor meget man har som default? Jeg har prøvet at google begge dele men jeg synes alle sider har skrevet forskellige default værdier og den side jeg fandt der talte om hvor meget man bør sætte Xmx til skrev at man ikke måtte overskride den værdi der står som "ledig fysisk hukommelse" i windows' jobliste. MEN når jeg kører mit program falder denne hurtigt til et sted mellem 0 og 20.
Jeg gik udenom problemet (for nu) ved at begrænse antallet af iterationer. Men mange tak for dine svar. hvordan er det at jeg giver dig de 60 point? Mangler lidt en "svar accepteret" knap et sted. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.