使用以下 JVM 参数启动:
-Xbootclasspath/a:D:\github\jfr-spring-all\jdk-white-box\target\jdk-white-box-17.0-SNAPSHOT.jar -Xms512m -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xlog:gc输出结果:
[0.016s][info][gc] Using G1 [0.679s][info][gc] GC(0) Pause Full (WhiteBox Initiated Full GC) 19M->2M(512M) 8.804ms [0.714s][info][gc] GC(1) Pause Young (Normal) (G1 Evacuation Pause) 27M->2M(512M) 1.309ms [1.099s][info][gc] GC(2) Pause Young (Normal) (G1 Evacuation Pause) 308M->2M(512M) 0.943ms [1.445s][info][gc] GC(3) Pause Young (Normal) (G1 Evacuation Pause) 308M->2M(512M) 1.141ms [1.788s][info][gc] GC(4) Pause Young (Normal) (G1 Evacuation Pause) 308M->2M(512M) 1.117ms jdk.ThreadAllocationStatistics { startTime = 12:41:29.915 allocated = 1.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.915 allocated = 2.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.915 allocated = 3.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.915 allocated = 4.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.965 allocated = 6.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.965 allocated = 12.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.965 allocated = 15.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:29.965 allocated = 20.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.015 allocated = 10.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.015 allocated = 20.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.015 allocated = 27.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.015 allocated = 36.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.066 allocated = 15.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.066 allocated = 28.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.066 allocated = 39.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.066 allocated = 50.3 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.116 allocated = 19.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.116 allocated = 36.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.116 allocated = 51.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.116 allocated = 64.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.167 allocated = 24.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.167 allocated = 44.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.167 allocated = 63.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.167 allocated = 80.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.217 allocated = 28.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.217 allocated = 52.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.217 allocated = 75.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.217 allocated = 96.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.268 allocated = 32.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.268 allocated = 61.3 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.268 allocated = 87.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.268 allocated = 109.5 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.319 allocated = 37.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.319 allocated = 68.3 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.319 allocated = 99.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.319 allocated = 124.3 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.370 allocated = 41.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.370 allocated = 78.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.370 allocated = 111.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.370 allocated = 144.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.420 allocated = 45.4 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.420 allocated = 86.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.420 allocated = 126.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.420 allocated = 160.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.470 allocated = 50.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.470 allocated = 96.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.470 allocated = 138.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.470 allocated = 180.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.520 allocated = 54.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.520 allocated = 104.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.520 allocated = 150.4 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.520 allocated = 196.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.571 allocated = 58.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.571 allocated = 112.3 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.571 allocated = 165.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.571 allocated = 212.5 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.621 allocated = 63.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.621 allocated = 122.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.621 allocated = 180.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.621 allocated = 232.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.671 allocated = 67.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.671 allocated = 130.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.671 allocated = 192.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.671 allocated = 248.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.722 allocated = 72.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.722 allocated = 140.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.722 allocated = 207.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.722 allocated = 268.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.772 allocated = 76.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.772 allocated = 148.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.772 allocated = 219.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.772 allocated = 284.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.581 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.581 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.581 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.581 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.631 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.631 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.631 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.631 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.682 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.682 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.682 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.682 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.732 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.732 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.732 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.732 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.823 allocated = 81.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.823 allocated = 158.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.823 allocated = 234.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.823 allocated = 304.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.874 allocated = 85.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.874 allocated = 166.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.874 allocated = 246.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.874 allocated = 320.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.925 allocated = 90.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.925 allocated = 176.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.925 allocated = 258.5 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.925 allocated = 340.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.975 allocated = 94.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.975 allocated = 184.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.975 allocated = 273.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:30.975 allocated = 356.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.024 allocated = 99.0 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.024 allocated = 194.0 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.024 allocated = 285.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.024 allocated = 372.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.075 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.075 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.075 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.075 allocated = 392.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.126 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.126 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.126 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.126 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.177 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.177 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.177 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.177 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.228 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.228 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.228 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.228 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.278 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.278 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.278 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.278 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.329 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.329 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.329 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.329 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.379 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.379 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.379 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.379 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.429 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.429 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.429 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.429 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.479 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.479 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.479 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.479 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.530 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.530 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.530 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.530 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.791 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.791 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.791 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.791 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.842 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.842 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.842 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.842 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.892 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.892 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.892 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.892 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.943 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.943 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.943 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.943 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.993 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.993 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.993 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:31.993 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.043 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.043 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.043 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.043 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.093 allocated = 100.3 MB thread = "Thread-0" (javaThreadId = 27) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.093 allocated = 200.1 MB thread = "Thread-1" (javaThreadId = 28) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.093 allocated = 300.0 MB thread = "Thread-2" (javaThreadId = 29) } jdk.ThreadAllocationStatistics { startTime = 12:41:32.093 allocated = 400.0 MB thread = "Thread-3" (javaThreadId = 30) } Thread 27 allocated(from JMX): 105179160; allocated(from jdk.ThreadAllocationStatistics): 105179160 Thread 28 allocated(from JMX): 209780040; allocated(from jdk.ThreadAllocationStatistics): 209780040 Thread 29 allocated(from JMX): 314573616; allocated(from jdk.ThreadAllocationStatistics): 314573616 Thread 30 allocated(from JMX): 419431216; allocated(from jdk.ThreadAllocationStatistics): 419431216 底层原理以及相关 JVM 源码每隔配置的间隔,就会调用 requestThreadAllocationStatistics(void) 方法采集每一个线程的分配信息: