Alibaba latest version of the open source Dragonwell JDK 8.1.1-GA release

REVIEW: The new version has three main change: Sync the latest updates OpenJDK community jdk8u222-ga upstream of; to bring a formal feature: G1ElasticHeap; released an experimental version for Windows users expect Experimental Windows version.

The first official version 8.0.0-GA has been released from Dragonwell JDK past three months, the project stars on Github continued to climb to reach 1900. Today we bring the latest released version 8.1.1-GA, including new features and updates. See below for details.

The new change of Longjing 8.1.1-GA

The new version of our latest updates synchronized upstream OpenJDK community jdk8u222-ga, bringing upstream stable version of the latest security updates and patches.

When 8.0.0-GA release, we have introduced some new features Dragonwell third ElasticHeap, many users have been eager, and this time we brought the official release of the feature: G1ElasticHeap. Can without affecting the Java business operations, saving Java dynamic process of physical memory.

In addition, we expect users also released an experimental version Windows Experimental Windows version, Windows developers use little friends can more easily use Dragonwell JDK corresponding development work.

G1ElasticHeap

From the feature's name, we can see ElasticHeap be developed based on G1 GC, so I want to use this feature junior partner, need to open the G1 GC (-XX: + UseG1GC). When the official version 8.0.0-GA introduction, we introduce some technical background, due to the characteristics of Java automatic memory management, the entire Java Heap and physical memory address space will be occupied Java process, even if the usage is not high, also after recovery and will not be returned to the operating system, the Java process will lead to higher permanent memory.

OpenJDK8 several conventional GC algorithm can only support when Full GC, according to certain rules limited reduction in the Java heap, however small Java development partners are very clear, frequent Full GC of STW (stop-the-world) application meant to Java What a long pause will cause many unexpected application anomalies and unresponsive.

p1

ElasticHeap can pressure the overall GC, the Java heap will promptly return the physical memory to the operating system, there is no risk of additional timeout exception STW Java application brought by the core design has two special:

  1. Java Heap in each processing section of the old and new area. Many applications in particular in order to maintain the throughput of GC may be high pressure, it will remain relatively large young generation, e.g. G1 New default maximum value of 60% of the entire stack. When the young GC frequency is not high, in fact, the Java heap is facing a large degree of waste, but there is no way to quickly save this memory. When the entire stack is assumed Area 60%, young GC frequency is 90 seconds. When a stack 10% of the entire young generation, GC frequency becomes 15 seconds, which also meets Java running, so it can save 50% of the Java heap. When the pressure is increased, when the frequency becomes high GC, automatically it detects a change in the size of the memory map and re-expansion of the new area.

  2. The use of concurrent threads, concurrency and parallel (concurrent and parallel) processing the return and re-map memory work. Because the Linux kernel and interactive, map / unmap memory is actually relatively time-consuming operation, especially after the re-map memory page fault there will be a cost, for the memory of the last operation on G, it is easy to consume hundreds of milliseconds, or even seconds. Therefore, if traditionally memory map / unmap operations in the GC STW, Java applications will potentially large burr, which is a lot of online services applications unacceptable. By concurrent threads in parallel processing overhead unmap and re-map to bring a page fault, Java application threads will not be affected. In conventional GC STW process, Java heap of capacity will be completed in time synchronization.

In the new version of OpenJDK 12, but also introduced a savings mechanism for periodic trigger G1 concurrent mark to trigger the memory, but does not address map / unmap in STW overhead problem, but also can not quickly be found in the young GC cycle young generation of wasted memory. In addition to the currently published Dragonwell 8.1.1, we also submit G1ElasticHeap the patch to the community review and discussion OpenJDK, hope to join these creative changes to the latest OpenJDK G1 GC in.

p2

Yunqi Conference solitary make a speech, a clear description of ElasticHeap usage scenarios. In the case of two 11 traffic surge, the core application tradeplatform3 quickly back up Java heap and memory, in order to maintain stability at high flow pressure. After the peak, the memory is gradually reduced. From the cluster dimensions, the online Java applications take up a lot of memory, even if the online traffic is low, very low cpu utilization, due occupy memory, cpu resource cluster machines still can not reuse. The ElasticHeap can effectively reduce the low-pressure line memory footprint of Java applications, the transfer of a portion of the memory resources to run off-line task to break through the online application cluster resource utilization memory bottleneck. In the present embodiment, the saving of 22.8% physical memory Java process.

Small partners want to immediately use the latest features, can use the following address to download the latest version of Dragonwell JDK binary package.
https://github.com/alibaba/dragonwell8/releases
here provides a user guide and release notes. As well as support of end user guide nailing group and mail.
https://github.com/alibaba/dragonwell8/wiki

If you have small characteristics in line with their partners feel that the scene needs easy to use, then we might as well list of supported e-mail to the OpenJDK community, so that more Chinese voices heard OpenJDK Java users and developers.

"Alibaba Cloud native micro-channel public number (ID: Alicloudnative) focus on micro service, Serverless, container, Service Mesh and other technical fields, focusing popular technology trends in cloud native, cloud native large-scale landing practice, do most understand cloud native developers technology public number. "

Guess you like

Origin www.cnblogs.com/alisystemsoftware/p/11683673.html