18. december 2000 - 12:05Der er
2 kommentarer og 2 løsninger
OutOfMemory
I forbindelse med en webcrawler som jeg har lavet, får jeg en fejlmeddelelse, der ser ca. sådan ud.
OutOfMemoryException (No Stack Trace available)
Jeg er klar over at jeg opbruger den ledige plads i javaVirtualMachine og at der ikke er mere der kan garbage collectes, men jeg fatter sgu ikke helt hvorfor. Programmet kører rekursivt og jeg kører med max 20 tråde. Og selvom jeg sætter antallet af tråde ned, kommer fejlmeddelelsen alligevel.
Nogen der har oplevet noget lignende og evt. har forslag til hvordan dette kan undgås.?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hvis du ellers har RAM\'en til det så kan du fortælle JVM\'en hvor meget hukommelse den må bruge. F.eks. java -Xmx128M MyApp giver MyApp applikationen rettigheder til at benytte 128 MB. Default værdi er vidst nok 16M.
Når du kører rekursivt, i ordets brede forstand, at en metode kalder rekursivt en anden, så hænger der stadig referencer til de gamle objekter, og kan derfor ikke collectes før metoden er afsluttet.
Problemet var at garbagecollectoren aldrig rigtig fik lov at arbejde. Jeg klarede det ved at give lov til at bruge mere hukommelse dom mpultz skrev, og samtidig ligge en lille forsinkelse ind med tilfældige mellemrum, hvilket gav plads il at garbagecollectoren kunne arbejde.
Tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
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.