Paramètres de démarrage de la JVM
JAVA_OPTS = "-Xms4G -Xmx4G -Xmn2G -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -XX:+UseParallelGC -XX:+PrintGCDetails -Xloggc:/home/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC"
Définition des paramètres de démarrage de la JVM
Extrait de journal GC
OpenJDK 64-Bit Server VM (25.342-b07) for linux-amd64 JRE (1.8.0_342-b07), built on Jul 16 2022 09:19:19 by "openjdk" with gcc 4.4.7 20120313 (Red Hat 4.4.7-23) Memory: 4k page, physical 8388608k(8386904k free), swap 0k(0k free) CommandLine flags: -XX:CompressedClassSpaceSize=528482304 -XX:InitialHeapSize=4294967296 -XX:MaxHeapSize=4294967296 -XX:MaxMetaspaceSize=536870912 -XX:MaxNewSize=2147483648 -XX:MetaspaceSize=536870912 -XX:NewSize=2147483648 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 2024-09-24T10:43:44.094+0800: 21.703: Total time for which application threads were stopped: 0.0015655 seconds, Stopping threads took: 0.0000978 seconds {Heap before GC invocations=11 (full 0): PSYoungGen total 1494528K, used 1466389K [0x0000000790800000, 0x00000007f0800000, 0x00000007f0800000) eden space 1414656K, 100% used [0x0000000790800000,0x00000007e6d80000,0x00000007e6d80000) from space 79872K, 64% used [0x00000007eba00000,0x00000007eec85748,0x00000007f0800000) to space 78336K, 0% used [0x00000007e6d80000,0x00000007e6d80000,0x00000007eba00000) ParOldGen total 2621440K, used 72408K [0x00000006f0800000, 0x0000000790800000, 0x0000000790800000) object space 2621440K, 2% used [0x00000006f0800000,0x00000006f4eb60e0,0x0000000790800000) Metaspace used 114761K, capacity 120350K, committed 120576K, reserved 1155072K class space used 13324K, capacity 14260K, committed 14336K, reserved 1048576K 2024-09-24T10:43:44.149+0800: 21.759: [GC (Allocation Failure) [PSYoungGen: 1466389K->41915K(1492992K)] 1538798K->152295K(4114432K), 0.0591035 secs] [Times: user=0.16 sys=0.01, real=0.06 secs] Heap after GC invocations=11 (full 0): PSYoungGen total 1492992K, used 41915K [0x0000000790800000, 0x00000007f0800000, 0x00000007f0800000) eden space 1414656K, 0% used [0x0000000790800000,0x0000000790800000,0x00000007e6d80000) from space 78336K, 53% used [0x00000007e6d80000,0x00000007e966ee58,0x00000007eba00000) to space 78336K, 0% used [0x00000007ebb80000,0x00000007ebb80000,0x00000007f0800000) ParOldGen total 2621440K, used 110380K [0x00000006f0800000, 0x0000000790800000, 0x0000000790800000) object space 2621440K, 4% used [0x00000006f0800000,0x00000006f73cb088,0x0000000790800000) Metaspace used 114761K, capacity 120350K, committed 120576K, reserved 1155072K class space used 13324K, capacity 14260K, committed 14336K, reserved 1048576K } 2024-09-24T10:43:44.209+0800: 21.818: Total time for which application threads were stopped: 0.0593724 seconds, Stopping threads took: 0.0000333 seconds {Heap before GC invocations=906 (full 2): PSYoungGen total 2065920K, used 2041627K [0x0000000760800000, 0x00000007e0800000, 0x00000007e0800000) eden space 2034688K, 100% used [0x0000000760800000,0x00000007dcb00000,0x00000007dcb00000) from space 31232K, 22% used [0x00000007de980000,0x00000007df046e10,0x00000007e0800000) to space 31232K, 0% used [0x00000007dcb00000,0x00000007dcb00000,0x00000007de980000) ParOldGen total 2097152K, used 2080736K [0x00000006e0800000, 0x0000000760800000, 0x0000000760800000) object space 2097152K, 99% used [0x00000006e0800000,0x000000075f7f8060,0x0000000760800000) Metaspace used 176015K, capacity 189742K, committed 191104K, reserved 1218560K class space used 19024K, capacity 21351K, committed 21632K, reserved 1048576K 2024-09-24T14:14:45.047+0800: 11571.644: [GC (Allocation Failure) [PSYoungGen: 2041627K->26414K(2061312K)] 4122363K->2109278K(4158464K), 0.0208053 secs] [Times: user=0.07 sys=0.00, real=0.02 secs] Heap after GC invocations=906 (full 2): PSYoungGen total 2061312K, used 26414K [0x0000000760800000, 0x00000007e0800000, 0x00000007e0800000) eden space 2034688K, 0% used [0x0000000760800000,0x0000000760800000,0x00000007dcb00000) from space 26624K, 99% used [0x00000007dcb00000,0x00000007de4cba70,0x00000007de500000) to space 33792K, 0% used [0x00000007de700000,0x00000007de700000,0x00000007e0800000) ParOldGen total 2097152K, used 2082863K [0x00000006e0800000, 0x0000000760800000, 0x0000000760800000) object space 2097152K, 99% used [0x00000006e0800000,0x000000075fa0be58,0x0000000760800000) Metaspace used 176015K, capacity 189742K, committed 191104K, reserved 1218560K class space used 19024K, capacity 21351K, committed 21632K, reserved 1048576K } {Heap before GC invocations=907 (full 3): PSYoungGen total 2061312K, used 26414K [0x0000000760800000, 0x00000007e0800000, 0x00000007e0800000) eden space 2034688K, 0% used [0x0000000760800000,0x0000000760800000,0x00000007dcb00000) from space 26624K, 99% used [0x00000007dcb00000,0x00000007de4cba70,0x00000007de500000) to space 33792K, 0% used [0x00000007de700000,0x00000007de700000,0x00000007e0800000) ParOldGen total 2097152K, used 2082863K [0x00000006e0800000, 0x0000000760800000, 0x0000000760800000) object space 2097152K, 99% used [0x00000006e0800000,0x000000075fa0be58,0x0000000760800000) Metaspace used 176015K, capacity 189742K, committed 191104K, reserved 1218560K class space used 19024K, capacity 21351K, committed 21632K, reserved 1048576K 2024-09-24T14:14:45.068+0800: 11571.665: [Full GC (Ergonomics) [PSYoungGen: 26414K->0K(2061312K)] [ParOldGen: 2082863K->300700K(2097152K)] 2109278K->300700K(4158464K), [Metaspace: 176015K->174750K(1218560K)], 0.6404574 secs] [Times: user=1.88 sys=0.00, real=0.64 secs] Heap after GC invocations=907 (full 3): PSYoungGen total 2061312K, used 0K [0x0000000760800000, 0x00000007e0800000, 0x00000007e0800000) eden space 2034688K, 0% used [0x0000000760800000,0x0000000760800000,0x00000007dcb00000) from space 26624K, 0% used [0x00000007dcb00000,0x00000007dcb00000,0x00000007de500000) to space 33792K, 0% used [0x00000007de700000,0x00000007de700000,0x00000007e0800000) ParOldGen total 2097152K, used 300700K [0x00000006e0800000, 0x0000000760800000, 0x0000000760800000) object space 2097152K, 14% used [0x00000006e0800000,0x00000006f2da7140,0x0000000760800000) Metaspace used 174750K, capacity 187618K, committed 191104K, reserved 1218560K class space used 18827K, capacity 20997K, committed 21632K, reserved 1048576K }
Temps de pause de l'application
Pendant le processus GC, tous les threads de l'application sont suspendus, ce que l'on appelle l'événement "Stop-The-World" (STW). Le temps de pause affecte directement les performances et la réactivité de l'application.
Exemple de journal :
2024-09-24T10:43:44.094+0800: 21.703: Total time for which application threads were stopped: 0.0015655 seconds, Stopping threads took: 0.0000978 seconds
Durée totale pendant laquelle les threads de l'application ont été arrêtés :
L'arrêt des discussions a pris :
GC (GC Mineur)
Exemple de journal
2024-09-24T10:43:44.149+0800: 21.759: [GC (Allocation Failure) [PSYoungGen: 1466389K->41915K(1492992K)] 1538798K->152295K(4114432K), 0.0591035 secs]
GC complet
Exemple de journal :
2024-09-24T14:14:45.068+0800: 11571.665: [Full GC (Ergonomics) [PSYoungGen: 26414K->0K(2061312K)] [ParOldGen: 2082863K->300700K(2097152K)] 2109278K->300700K(4158464K), [Metaspace: 176015K->174750K(1218560K)], 0.6404574 secs]
État détaillé de la mémoire du tas
En raison de l'utilisation du paramètre -XX:+PrintHeapAtGC, le journal GC imprimera l'état détaillé de la mémoire tas avant et après chaque GC, y compris la capacité et l'utilisation de chaque zone mémoire.
Exemple de journal :
Heap before GC invocations=11 (full 0): PSYoungGen total 1494528K, used 1466389K [0x0000000790800000, 0x00000007f0800000, 0x00000007f0800000) eden space 1414656K, 100% used [0x0000000790800000,0x00000007e6d80000,0x00000007e6d80000) from space 79872K, 64% used [0x00000007eba00000,0x00000007eec85748,0x00000007f0800000) to space 78336K, 0% used [0x00000007e6d80000,0x00000007e6d80000,0x00000007eba00000) ParOldGen total 2621440K, used 72408K [0x00000006f0800000, 0x0000000790800000, 0x0000000790800000) object space 2621440K, 2% used [0x00000006f0800000,0x00000006f4eb60e0,0x0000000790800000) Metaspace used 114761K, capacity 120350K, committed 120576K, reserved 1155072K class space used 13324K, capacity 14260K, committed 14336K, reserved 1048576K
PSYoungGen (jeune génération) :
ParOldGen (ancienne génération) :
Métaespace :
Correspondance entre les paramètres de démarrage de la JVM et les logs GC
En raison de la définition manuelle des paramètres de démarrage de la JVM, les journaux GC contiennent des informations plus détaillées qui peuvent faciliter une analyse approfondie :
Allocation et utilisation de la mémoire :
Informations d'horodatage :
Détails de l'événement GC :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!