« TIPS - Déterminer les infos JVM » : différence entre les versions
De PedroWiki
				
				
				Aller à la navigationAller à la recherche
				
				
imported>Jules Aucun résumé des modifications  | 
				imported>Jules Aucun résumé des modifications  | 
				||
| Ligne 82 : | Ligne 82 : | ||
      intx AllocatePrefetchStepSize                  = 64                                  {product}  |       intx AllocatePrefetchStepSize                  = 64                                  {product}  | ||
      ...  |       ...  | ||
</pre>  | |||
== Afficher tous les settings ==  | |||
<pre>  | |||
root@trsb-pp-1:~# java -XshowSettings:all  | |||
VM settings:  | |||
    Max. Heap Size (Estimated): 1.29G  | |||
    Ergonomics Machine Class: server  | |||
    Using VM: OpenJDK 64-Bit Server VM  | |||
Property settings:  | |||
    awt.toolkit = sun.awt.X11.XToolkit  | |||
    file.encoding = UTF-8  | |||
    file.encoding.pkg = sun.io  | |||
    file.separator = /  | |||
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment  | |||
    java.awt.printerjob = sun.print.PSPrinterJob  | |||
    java.class.path = .  | |||
    java.class.version = 52.0  | |||
    java.endorsed.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed  | |||
    java.ext.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext  | |||
        /usr/java/packages/lib/ext  | |||
    java.home = /usr/lib/jvm/java-8-openjdk-amd64/jre  | |||
    java.io.tmpdir = /tmp  | |||
    java.library.path = /usr/java/packages/lib/amd64  | |||
        /usr/lib/x86_64-linux-gnu/jni  | |||
        /lib/x86_64-linux-gnu  | |||
        /usr/lib/x86_64-linux-gnu  | |||
        /usr/lib/jni  | |||
        /lib  | |||
        /usr/lib  | |||
    java.runtime.name = OpenJDK Runtime Environment  | |||
    java.runtime.version = 1.8.0_212-8u212-b01-1~deb9u1-b01  | |||
    java.specification.name = Java Platform API Specification  | |||
...  | |||
</pre>  | </pre>  | ||
[[Category:Java]]  | [[Category:Java]]  | ||
[[Category:Commande]]  | [[Category:Commande]]  | ||
Dernière version du 24 mai 2019 à 07:19
Introduction
Cet article référence quelques trucs et astuces pour déterminer des informations relatives à une JVM.
Tips
Afficher l'usage
root@machine:~# java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available
    -server       to select the "server" VM
    -zero         to select the "zero" VM
    -dcevm        to select the "dcevm" VM
                  The default VM is server,
                  because you are running on a server-class machine.
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A : separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
...
Afficher l'usage moins répandu
root@machine:~# 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
...
Déterminer la version de Java
root@machine:~# java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01) OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
Déterminer la valeur des flags
root@machine:~# java -XX:+PrintFlagsFinal
[Global flags]
    uintx AdaptiveSizeDecrementScaleFactor          = 4                                   {product}
    uintx AdaptiveSizeMajorGCDecayTimeScale         = 10                                  {product}
    uintx AdaptiveSizePausePolicy                   = 0                                   {product}
    uintx AdaptiveSizePolicyCollectionCostMargin    = 50                                  {product}
    uintx AdaptiveSizePolicyInitializingSteps       = 20                                  {product}
    uintx AdaptiveSizePolicyOutputInterval          = 0                                   {product}
    uintx AdaptiveSizePolicyWeight                  = 10                                  {product}
    uintx AdaptiveSizeThroughPutPolicy              = 0                                   {product}
    uintx AdaptiveTimeWeight                        = 25                                  {product}
     bool AdjustConcurrency                         = false                               {product}
     bool AggressiveOpts                            = false                               {product}
     intx AliasLevel                                = 3                                   {C2 product}
     bool AlignVector                               = true                                {C2 product}
     intx AllocateInstancePrefetchLines             = 1                                   {product}
     intx AllocatePrefetchDistance                  = 256                                 {product}
     intx AllocatePrefetchInstr                     = 0                                   {product}
     intx AllocatePrefetchLines                     = 3                                   {product}
     intx AllocatePrefetchStepSize                  = 64                                  {product}
     ...
Afficher tous les settings
root@trsb-pp-1:~# java -XshowSettings:all
VM settings:
    Max. Heap Size (Estimated): 1.29G
    Ergonomics Machine Class: server
    Using VM: OpenJDK 64-Bit Server VM
Property settings:
    awt.toolkit = sun.awt.X11.XToolkit
    file.encoding = UTF-8
    file.encoding.pkg = sun.io
    file.separator = /
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
    java.awt.printerjob = sun.print.PSPrinterJob
    java.class.path = .
    java.class.version = 52.0
    java.endorsed.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed
    java.ext.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext
        /usr/java/packages/lib/ext
    java.home = /usr/lib/jvm/java-8-openjdk-amd64/jre
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib/amd64
        /usr/lib/x86_64-linux-gnu/jni
        /lib/x86_64-linux-gnu
        /usr/lib/x86_64-linux-gnu
        /usr/lib/jni
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 1.8.0_212-8u212-b01-1~deb9u1-b01
    java.specification.name = Java Platform API Specification
...