Wat zijn de -Xms en -Xmx parameters bij het starten van JVM?

Leg het gebruik van de parameters Xms en Xmx in JVM’s uit. Wat zijn de standaardwaarden voor hen?


Antwoord 1, autoriteit 100%

De vlag Xmx specificeert de maximale geheugentoewijzingspool voor een Java Virtual Machine (JVM), terwijl Xms de initiële geheugentoewijzingspool specificeert.

Dit betekent dat uw JVM wordt gestart met een Xms hoeveelheid geheugen en maximaal Xmx geheugen kan gebruiken. Als u bijvoorbeeld een JVM zoals hieronder start, wordt deze gestart met 256 MB geheugen en kan het proces tot 2048 MB geheugen gebruiken:

java -Xms256m -Xmx2048m

De geheugenvlag kan ook in verschillende groottes worden opgegeven, zoals kilobytes, megabytes, enzovoort.

-Xmx1024k
-Xmx512m
-Xmx8g

De vlag Xms heeft geen standaardwaarde en Xmx heeft doorgaans een standaardwaarde van 256 MB. Deze vlaggen worden vaak gebruikt wanneer u een java.lang.OutOfMemoryError tegenkomt.

Houd er bij het gebruik van deze instellingen rekening mee dat deze instellingen voor de heap van de JVM zijn, en dat de JVM meer geheugen kan en zal gebruiken dan alleen de grootte die aan de heap is toegewezen. Uit Documentatie van Oracle:

Merk op dat de JVM meer geheugen gebruikt dan alleen de heap. Java-methoden, thread-stacks en native handvatten worden bijvoorbeeld apart van de heap in het geheugen toegewezen, evenals interne JVM-gegevensstructuren.


Antwoord 2, autoriteit 22%

Voer het commando java -X uit en je krijgt een lijst met alle -X opties:

C:\Users\Admin>java -X
-Xmixed           mixed mode execution (default)
-Xint             interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
                      set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
                      append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
                      prepend in front of bootstrap class path
-Xdiag            show additional diagnostic messages
-Xnoclassgc       disable class garbage collection
-Xincgc           enable incremental garbage collection
-Xloggc:<file>    log GC status to a file with time stamps
-Xbatch           disable background compilation
-Xms<size>        set initial Java heap size.........................
-Xmx<size>        set maximum Java heap size.........................
-Xss<size>        set java thread stack size
-Xprof            output cpu profiling data
-Xfuture          enable strictest checks, anticipating future default
-Xrs              reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni       perform additional checks for JNI functions
-Xshare:off       do not attempt to use shared class data
-Xshare:auto      use shared class data if possible (default)
-Xshare:on        require using shared class data, otherwise fail.
-XshowSettings    show all settings and continue
-XshowSettings:all         show all settings and continue
-XshowSettings:vm          show all vm related settings and continue
-XshowSettings:properties  show all property settings and continue
-XshowSettings:locale      show all locale related settings and continue

De -X-opties zijn niet-standaard en kunnen zonder voorafgaande kennisgeving worden gewijzigd.

Ik hoop dat dit je zal helpen om Xms, Xmx en vele andere dingen te begrijpen die er het meest toe doen. 🙂


Antwoord 3

Je kunt het specificeren in je IDE. Bijvoorbeeld voor Eclipse in Configuraties uitvoeren > VM-argumenten. U kunt -Xmx800m -Xms500m invoeren als

Voer hier de afbeeldingsbeschrijving in


Antwoord 4

De vraag zelf is hierboven al behandeld.
Gewoon een deel van de standaardwaarden toevoegen.

Volgens http://docs.oracle .com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html

De standaardwaarde van Xmx hangt af van het platform en de hoeveelheid geheugen die beschikbaar is in het systeem.


Antwoord 5

-Xms initiële heapgrootte voor het opstarten, maar tijdens het werkproces kan de heapgrootte kleiner zijn dan -Xms vanwege inactiviteit van gebruikers of GC-iteraties.
Dit is geen minimaal vereiste heapgrootte.

-Xmx maximale heapgrootte


Antwoord 6

heel eenvoudig

Xss gebruikt om de grootte van het stapelgeheugen in te stellen

Xms-opstartheapgrootte

Xmx Maximale heapgrootte indien niet ingesteld 256 MB gebruikt

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes