Diagrammes de gestion de la mémoire de processus Java

Il existe de nombreux articles et diagrammes sur ce sujet sur Internet, cependant, à mon avis, aucun d'entre eux ne permet de se faire une idée générale de l'utilisation de la mémoire dans le processus Java. Et sans une compréhension générale, il est difficile de trouver des solutions à des problèmes de mémoire spécifiques dans des systèmes complexes. En conséquence, j'ai décidé d'afficher mes schémas.





Schéma simplifié de l'utilisation de la mémoire Java d'un processus:





Schéma simplifié de l'utilisation de la mémoire Java d'un processus
Schéma simplifié de l'utilisation de la mémoire Java d'un processus

Diagramme détaillé de l'utilisation de la mémoire Java d'un processus par certains paramètres:





Diagramme détaillé de l'utilisation de la mémoire Java d'un processus par certains paramètres
Java
JVM Copy Paste

-XX:+UnlockDiagnosticVMOptions 

-XX:+PrintFlagsFinal 

-XX:+PrintGCDetails

-Xlog:gc+heap

-XX:+HeapDumpOnOutOfMemoryError





-XX:+UseSerialGC

-XX:+UseParallelGC

-XX:+UseConcMarkSweepGC

-XX:+UseParNewGC 

-XX:+UseG1GC

-XX:+UseShenandoahGC

-XX:+UseZGC

-XX:+UseEpsilonGC 





-XX:MinRAMPercentage

-XX:MaxRAMPercentage-Xms

-Xmx

-XX:-AdaptiveSizePolicy





-XX:MetaspaceSize

-XX:MaxMetaspaceSize

-XX:MinMetaspaceFreeRatio

-XX:MaxMetaspaceFreeRatio





-n jvmJavaOSStackSize

-Xss

-XX:VmThreadStackSize

-XX:CompilerThreadStackSize





-XX:+PrintGCDetails 

-XX:+TraceClassUnloading 

-XX:+TraceClassLoading

-XX:CompressedClassSpaceSize

-XX:-UseCompressedClassPointers





-XX:+PrintStringTableStatistics

-XX:StringTableSize

-XX:+UseStringDeduplication





-XX:+PrintCodeCache

-XX:InitialCodeCacheSize

-XX:ReservedCodeCacheSize 

-XX:CodeCacheExpansionSize 





-n jvmNativeStackSize 





-XX:MaxDirectMemorySize





-XX:NativeMemoryTracking=off | summary | detail  

-XX:+PrintNMTStatistics 

-XX:-AutoShutdownNMT





-XX:+PrintCompilation





-XX:+UnlockDiagnosticVMOptions 

-XX:+LogCompilation

-XX:+PrintFlagsFinal





-XX:CICompilerCount

-XX:CompileThresholdn

-XX:-TieredCompilation





-Dcom.sun.management.jmxremote 

-Dcom.sun.management.jmxremote.authenticate=false 

-Dcom.sun.management.jmxremote.ssl=false 

-Dcom.sun.management.jmxremote.port=9099 

-Dcom.sun.management.jmxremote.rmi.port=9099 

-Dcom.sun.management.jmxremote.local.only=false 

-Djava.rmi.server.hostname=0.0.0.0 

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000





JProfiler

VisualVM

JConsole

Java Flight Recorder

async-profiler

JDK Mission Control

jstack

jmap





Ces diagrammes ne sont pas destinés à fournir des connaissances complètes, mais ils peuvent être un point de départ pour explorer le sujet plus en profondeur, combler les lacunes dans les connaissances, régler la JVM et trouver le problème dans le système actuel.








All Articles