For det første har jeg en boks med 8 GB ram, så jeg tviler på at totalt minne er problemet. Denne applikasjonen kjører fint på maskiner med 6 GB eller mindre.
Jeg prøver å reservere 3 GB plass ved å bruke -Xmx3G under "VM Arguments" i Run Configurations i Eclipse.
Hver gang jeg prøver å reservere mer enn 1500 MB, får jeg denne feilen: "Feil oppstod under initialisering av VM; Kunne ikke reservere nok plass til objektbunken" ved bruk av -Xmx3G
Hva er det som skjer her?
Dette er faktisk ikke et Eclipse-spesifikt problem; det' s en generell Java-on-Windows-problem. Det' s på grunn av hvordan JVM tildeler minne på Windows; det insisterer på å tildele en sammenhengende del av minnet, som ofte Windows kan ikke gi, selv om det er nok separate biter til å tilfredsstille tildelingsforespørselen. Det er verktøy som vil prøve å hjelpe Windows med å "defragmentere" minnet, som ville, i teorien, hjelpe denne situasjonen; men jeg' har egentlig ikke prøvd dem for alvor, så jeg kan ikke snakke om effektiviteten deres. En ting som jeg har hørt noen ganger som kan hjelpe, er å starte Windows på nytt og, før du starter noen andre apper, starte Java-appen som trenger det stor del av minnet. Hvis du're heldig, Windows vil't har fragmentert sin minneplass ennå, og Java vil få den sammenhengende blokken som ber om.
Et eller annet sted ute på interwebs det er mer tekniske forklaringer og analyser av dette problemet, men jeg har ikke noen referanser for hånden.
Jeg fant imidlertid dette, som ser nyttig ut: https://stackoverflow.com/a/497757/639520
Forsikre deg om at Eclipse faktisk kjører den samme JVM-en som du tror den kjører. Hvis du bruker java i nettleseren din noen gang, har du sannsynligvis en 32-biters versjon som flyter rundt også som kan ha forrang hvis den er installert eller oppdatert i det siste.
For å være helt sikker, anbefaler jeg at du legger til disse to linjene i `eclipse.ini-filen øverst:
-vm
C:/Java/jdk1.6.0_27/bin
...hvor på min maskin C:/Java/jdk1.6.0_27/bin
hvor JVM-en jeg vet er 64-bit ligger. Sørg for å ha mappen bin
der.
(Som en bonus, på Windows 7, lar dette deg også faktisk " fest fanen " som er grunnen til at jeg måtte gjøre dette for min egen bruk)