Azul JDK Zulu 8 G1 Evacuation Pause
PS C:\zulu-8\bin> .\java.exe -version
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Zulu 8.76.0.17-CA-win64) (build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Zulu 8.76.0.17-CA-win64) (build 25.402-b06, mixed mode)
2024-02-18T10:32:15.844+0000: 1.894: [GC pause (G1 Evacuation Pause) (young), 0.0051386 secs]
[Parallel Time: 1.8 ms, GC Workers: 8]
[GC Worker Start (ms): Min: 1894.3, Avg: 1894.3, Max: 1894.4, Diff: 0.1]
[Ext Root Scanning (ms): Min: 0.1, Avg: 0.3, Max: 0.5, Diff: 0.3, Sum: 2.0]
[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.2]
[Processed Buffers: Min: 0, Avg: 1.5, Max: 3, Diff: 3, Sum: 12]
[Scan RS (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.4]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Object Copy (ms): Min: 1.1, Avg: 1.2, Max: 1.2, Diff: 0.2, Sum: 9.3]
[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Termination Attempts: Min: 1, Avg: 3.1, Max: 5, Diff: 4, Sum: 25]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[GC Worker Total (ms): Min: 1.4, Avg: 1.5, Max: 1.6, Diff: 0.2, Sum: 12.1]
[GC Worker End (ms): Min: 1895.9, Avg: 1895.9, Max: 1895.9, Diff: 0.0]
[Code Root Fixup: 0.0 ms]
[Code Root Purge: 0.0 ms]
[Clear CT: 0.2 ms]
[Other: 3.1 ms]
[Choose CSet: 0.0 ms]
[Ref Proc: 2.5 ms]
[Ref Enq: 0.2 ms]
[Redirty Cards: 0.2 ms]
[Humongous Register: 0.0 ms]
[Humongous Reclaim: 0.0 ms]
[Free CSet: 0.0 ms]
[Eden: 30720.0K(30720.0K)->0.0B(73728.0K) Survivors: 2048.0K->4096.0K Heap: 35102.0K(128.0M)->7322.5K(128.0M)]
[Times: user=0.00 sys=0.00, real=0.00 secs]
When you see G1 Evacuation pause, then G1 GC does not have enough memory for either survivor or promoted objects or both. The Java heap cannot expand since it is already at its max. Below are the potential solutions to fix this problem: Increase the value of the ‘-XX:G1ReservePercent’ argument. Default value is 10%.
* [G1 Evacuation Pause - Search](https://cn.bing.com/search?q=G1+Evacuation+Pause&cvid=3a0e6d5190f64063b3b8741050c053fc&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQABhAMgYIAhAAGEAyBggDEAAYQDIGCAQQABhAMgYIBRAAGEAyBggGEAAYQDIICAcQ6QcY8gcyCAgIEOkHGPIHMgsICRDpBxj2Bxj6VTILCAoQ6QcY9gcY-lUyBwgLEEUY_FXSAQczNTlqMGoxqAIAsAIA&FORM=ANAB01&PC=U531)
* [Simple & effective Java G1 GC tuning tips – GC easy – Universal Java GC Log Analyser](https://blog.gceasy.io/2020/06/02/simple-effective-g1-gc-tuning-tips/#:~:text=When%20you%20see%20G1%20Evacuation%20pause%2C%20then%20G1,of%20the%20%E2%80%98-XX%3AG1ReservePercent%E2%80%99%20argument.%20Default%20value%20is%2010%25.)
6.2. G1 Evacuation Pause or Evacuation Failure
When you see G1 Evacuation pause, then G1 GC does not have enough memory for either survivor or promoted objects or both. The Java heap cannot expand since it is already at its max. Below are the potential solutions to fix this problem:
- Increase the value of the ‘-XX:G1ReservePercent’ argument. Default value is 10%. It means the G1 garbage collector will try to keep 10% of memory free always. When you try to increase this value, GC will be triggered earlier, preventing the Evacuation pauses.
- Start the marking cycle earlier by reducing the ‘-XX:InitiatingHeapOccupancyPercent’. The default value is 45. Reducing the value will start the marking cycle earlier. GC marking cycles are triggered when heap’s usage goes beyond 45%. On the other hand, if the marking cycle is starting early and not reclaiming, increase the ‘-XX:InitiatingHeapOccupancyPercent’ threshold above the default value.
- You can also increase the value of the ‘-XX:ConcGCThreads’ argument to increase the number of parallel marking threads. Increasing the concurrent marking threads will make garbage collection run fast.
- If the problem persists you may consider increasing JVM heap size (i.e. -Xmx)
* [Garbage-First Garbage Collector Tuning](https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/g1_gc_tuning.html)
|
Sets the percentage of reserve memory to keep free so as to reduce the risk of to-space overflows. The default is 10 percent. When you increase or decrease the percentage, make sure to adjust the total Java heap by the same amount.Footref1 |
* [Garbage-First Garbage Collector Tuning](https://docs.oracle.com/en/java/javase/20/gctuning/garbage-first-garbage-collector-tuning.html#GUID-40B64CD4-9844-4E3E-A0BB-81556AC04C74)
* [Azul Platform Prime Memory Management](https://docs.azul.com/prime/zst/memory-management)
* [Unified Garbage Collection Logging Recommendations](https://docs.azul.com/prime/Unified-GC-Logging.html#)
* [Using Java Flight Recorder](https://docs.azul.com/prime/Java-Flight-Recorder)
* [WP-Understanding-Java-Garbage-Collection.pdf](https://www.azul.com/wp-content/uploads/WP-Understanding-Java-Garbage-Collection.pdf)
* [Java 7, 8, 11, 13, 15, 17, 19, 21 Download for Linux, Windows and macOS](https://www.azul.com/downloads/#prime)
* [g1\_survivor\_space - Search](https://cn.bing.com/search?q=g1_survivor_space&cvid=c3efaf2dcbbf49faa376a4461921b535&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQABhAMgYIAhAAGEAyBggDEAAYQDIGCAQQABhAMgcIBRBFGPxV0gEIMTEwM2owajGoAgCwAgA&FORM=ANAB01&PC=U531)
* [Garbage First Garbage Collector Tuning](https://www.oracle.com/technical-resources/articles/java/g1gc.html)
* [G1回收器的优势和不足 - 简书](https://www.jianshu.com/p/8832fd7e2289)
* [G1垃圾收集器使用注意事项\_g1 survivor 100%-CSDN博客](https://blog.csdn.net/cuiwjava/article/details/109706239)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-02-19 大数据关键技术 ——数据采集
2021-02-19 python django 分布式锁
2019-02-19 centos/ubuntu 双击运行 .sh(shell)文件
2019-02-19 CRM品牌排行榜