除NewRatio外,是否还需要明确设置幸存者空间?

时间:2019-03-26 19:44:13

标签: java garbage-collection jvm

我正在分析一个使用oracle jdk 8的Java应用程序。查看gc统计数据,S0 / S1的幸存者空间容量与幸存者比率不匹配。有人可以解释这是怎么回事吗?当我更改幸存者比率时,它不会更改幸存者的大小(容量)。我是否必须显式设置jvm参数才能正常工作?

Attaching to process ID 15084, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.201-b09

using thread-local object allocation.
Garbage-First (G1) GC with 63 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 137438953472 (131072.0MB)
   NewSize                  = 1363144 (1.2999954223632812MB)
   MaxNewSize               = 45801799680 (43680.0MB)
   OldSize                  = 5452592 (5.1999969482421875MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 33554432 (32.0MB)

Heap Usage:
G1 Heap:
   regions  = 4096
   capacity = 137438953472 (131072.0MB)
   used     = 29062893296 (27716.534896850586MB)
   free     = 108376060176 (103355.46510314941MB)
   21.146037976723164% used
G1 Young Generation:
Eden Space:
   regions  = 858
   capacity = 47815065600 (45600.0MB)
   used     = 28789702656 (27456.0MB)
   free     = 19025362944 (18144.0MB)
   60.21052631578947% used
Survivor Space:
   regions  = 9
   capacity = 301989888 (288.0MB)
   used     = 301989888 (288.0MB)
   free     = 0 (0.0MB)
   100.0% used
G1 Old Generation:
   regions  = 0
   capacity = 89321897984 (85184.0MB)
   used     = 0 (0.0MB)
   free     = 89321897984 (85184.0MB)
   0.0% used

36705 interned Strings occupying 3847064 bytes.

0 个答案:

没有答案