2012-11-21 4 views
19

Sto usando Intellij a 32 bit sul mio Windows XP a 32 bit con 4 GB di RAM.
Sto tentando di aumentare intellij xmx a 1,5 GB: -Xmx1500m
Quindi so che JVM supporta 1.5 GB di RAM in sistemi a 32 bit.
Ma questo errore tiri da JVM:
Come aumentare intellij 32 bit xmx più di 1 GB?

The JVM could not be started. The maximum heap size (-Xmx) might be too large ... 

non posso aumentare IntelliJ Xmx più di 900MB
Please help me!

risposta

39

Non è possibile farlo poiché JVM deve allocare tutto lo heap in un singolo blocco continuo, che potrebbe non essere possibile a causa della frammentazione della memoria. See my FAQ article per ulteriori dettagli.

Vedi anche questa immagine:

JVM heap

Come si può notare, la memoria totale del processo non è solo la dimensione heap, rendendo molto più facile per colpire il limite di 2 GB sistema operativo.

L'heap effettivo che può essere utilizzato varia in base alla configurazione del sistema operativo e ad altre applicazioni in esecuzione (le DLL con ganci si iniettano nello spazio del processo e causano una frammentazione aggiuntiva). Di solito è tra 512M e 1G, ma può essere più alto su un sistema pulito.