Выделенная куча G1GC старого поколения со временем увеличивается (около 5–6 дней в рабочей среде), а используемая куча старого поколения — нет. Куча Эдема и оставшегося в живых вынуждена уменьшаться до минимума (5% от общей кучи) и поэтому сборка мусора, потому что все чаще и чаще. Приложение кэширует один большой граф объектов в самом начале, а затем имеет другое кэширование, ограниченное по времени/использованию, на протяжении всего срока его выполнения. Он имеет довольно высокую скорость создания объектов, но не способствует большей части этого для старого поколения, кроме кэшированных объектов.
Я прогнал журнал сборщика мусора через gceasy.io, и вы можете увидеть приведенное выше поведение памяти: "nofollow noreferrer">https://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMjAvMDUvMTEvLS1nY2xvZy50YXIuZ3otLTExLTMwLTE5&channel=WEB.
gclog: https://drive.google.com/open?id=176X-Lku4D3DGCCdTiB0_z545N8n0tfKc< /а>
Показатели памяти Grafana для этого запуска /а>
Дамп кучи в конце прогона (загрузка была удалена около часа, это gz-файл размером 500 МБ): https://drive.google.com/open?id=14ghzIVnpelInSyQBhCwUwM5VkuOjX13-
Кажется, у нас нет создания больших огромных объектов. На сервере 12 ГБ оперативной памяти, а в куче — 6 ГБ.
JVM:
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
Флаги JVM:
-XX:CICompilerCount=4
-XX:ConcGCThreads=2
-XX:G1HeapRegionSize=2097152
-XX:GCLogFileSize=104857600
-XX:InitialHeapSize=6442450944
-XX:InitialRAMPercentage=50.000000
-XX:+ManagementServer
-XX:MarkStackSize=4194304
-XX:MaxHeapSize=6442450944
-XX:MaxNewSize=3865051136
-XX:MaxRAMPercentage=50.000000
-XX:MinHeapDeltaBytes=2097152
-XX:MinRAMPercentage=50.000000
-XX:NumberOfGCLogFiles=10
-XX:+PrintGC
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:+UseG1GC
-XX:+UseGCLogFileRotation
Работаем на openshift с CentOS: выпуск CentOS Linux 7.7.1908 (Core)
Ядро: 3.10.0-1062.12.1.el7.x86_64