Mai mult
Ce -Xms și -Xmx parametri atunci când începe JVM?
Vă rugăm să explicați utilizarea de Xms " și " Xmx parametri în JVMs. Ce sunt valorile implicite pentru ei?
905
5
Steagul
Xmx
specifică maximă de alocare de memorie piscină pentru o mașină virtuală Java (JVM), în timp ceXms
specifică inițială de alocare de memorie piscină.Acest lucru înseamnă că JVM va fi început cu Xms
cantitatea de memorie și va fi capabil de a folosi un maxim de
Xmx` cantitatea de memorie. De exemplu, începe un JVM ca mai jos va începe cu 256 MB de memorie și va permite procesul de a utiliza până la 2048 MB de memorie:Memoria de pavilion poate fi, de asemenea, specificate în diferite dimensiuni, cum ar fi kilobytes, megaocteți, și așa mai departe.
Anii
Xms
pavilion nu are nici o valoare implicită, șiXmx
are de obicei o valoare standard de 256 MB. O utilizare comună pentru aceste steaguri este atunci când vă confruntați cu ojava.lang.OutOfMemoryError
.Când utilizați aceste setări, rețineți că aceste setări sunt pentru JVM's heap, și că JVM pot/vor utiliza mai multă memorie decât dimensiunea alocate în heap. De Oracle's documentatiei:
Rulați comanda java -X
și veți obține o listă cu toate
-X` opțiuni:- X opțiuni sunt non-standard și supuse de a modifica fără preaviz.
Sper că acest lucru vă va ajuta să înțelegeți
Xms
,Xmx
precum și multe alte lucruri care contează cel mai mult. :)Puteți specifica în IDE. De exemplu, pentru Eclipse în Run Configurații → VM argumente. Puteți introduce
-Xmx800m -Xms500m
caÎntrebarea în sine a fost deja abordată de mai sus. Adăugarea doar o parte din valorile implicite.
Ca pe http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
Valoarea implicită a Xmx va depinde de platformă și de cantitatea de memorie disponibilă în sistem.
JVM memorie este format din următoarele segmente:
JVM are un morman de execuție zona de date din care memorie pentru toate cazuri de clasă și tablouri sunt alocate. Acesta este creat în JVM start-up.
Dimensiunea heap poate fi configurat cu următoarele VM opțiuni:
În mod implicit, maxim dimensiunea heap este de 64 MB.
Memorie Heap pentru obiecte este revendicată de către un sistem automat de management al memoriei de sistem care este cunoscut ca un colector de gunoi. Heap poate fi de o mărime fixă sau poate fi extins și micșorate, în funcție de colectorul de gunoi's de strategie.
Următoarea comandă începe JVM cu 256 mb de memorie, și pentru a permite procesul Java să utilizeze până la 4G (4096MB) de memorie.