Hier ein Link zum Tuning von JVM: Java Tuning White Paper
Ein Absatz daraus: For a 32-bit process model, the maximum virtual address size of the process is typically 4 GB, though some operating systems limit this to 2 GB or 3 GB. The maximum heap size is typically -Xmx3800m (1600m) for 2 GB limits), though the actual limitation is application dependent.
D.h. auf 32bit geht nie mehr als 4GB eher weniger (jenach OS). Ein weiterer limitierender Faktor könnte der tatsächlich physisch verfügbare RAM (+ evtl. vorhandenem Swap) sein.
Aber nicht für einen Prozess. 32Bit hat ein 4GB Prozesslimit. Das einzige was mehr Speicher verwalten kann ist das Betriebssystem und somit können jedem Prozess die vollen 4GB Addressspace zugewiesen werden, aber nicht mehr.
Der in einem Prozess bzw. einem Task nutzbare Speicher ist jedoch weiterhin auf 4 GiB begrenzt, sofern man ein lineares Speichermodell („flat memory“) verwendet, da die verwendeten Adressregister nur 32 Bit breit sind.
Hast du ein 64 bit Betriebssystem wie Vista (im Normalfall) oder Windoof 7? Dann geh auf java.com und lade dort die JRE 64 bit herunter und installiere diese. Bei anderen Betriebssystemen kenne ich mich nicht aus^^
Hast du ein 64 bit Betriebssystem wie Vista (im Normalfall) oder Windoof 7? Dann geh auf java.com und lade dort die JRE 64 bit herunter und installiere diese. Bei anderen Betriebssystemen kenne ich mich nicht aus^^
Aber nach ein wenig Lesen habe ich dann gestern noch rausgefunden, dass bei Windows XP das /PAE am Kernel nur sagt, dass die 2GB Prozessgrenze aufgehoben wird (also quasi das Teil was man früher als Workaround auf wenigstens 3GB anheben konnte - mit /3GB). Davon verfügt XP aber immer noch über die 4GB Gesamt-RAM Grenze. Ergo wird mit jedem MB was an Programme geht dem Kernel der Speicher weggerissen
Zu deutsch installiere ein neueres Windows mit 64Bit oder ein entsprechendes Linux (welches auch bei 32Bit und PAE mehr als 4GB RAM verwalten kann). Physical Address Extension ? Wikipedia
PS: Bei aktuellem Windows XP ab SP2 sollte PAE übrigens automatisch aktiviert sein, da dieses für das NX (NoExecution) Bit benötigt wird, wieso allerdings die JVM sich weiterhin strikt weigert mehr als 2GB zu allokieren ist mir auch ein Rätsel.
Mit einem 785Mhz Prozessor? Der unterstützt wahrscheinlich nicht einmal eine 64 Bit Architektur ^^
Wenn du Windows willst, hol dir halt 7 oder gleich Windows Server 2008, wenn der Einsatz ausschließlich als Server gedacht ist. Ansonsten geht auch ein Linux Server..