hg: zgc/zgc: Implementation of JEP 351: ZGC: Uncommit Unused Memory (Preview 1)

Per Liden per.liden at oracle.com
Thu Apr 4 09:03:26 UTC 2019


As the title of this commit suggests, this is a preview of the 
capability to uncommit unused memory. See JEP 351 for for information, 
http://openjdk.java.net/jeps/351.

If you're interested in this feature, please take it for a spin. 
Feedback welcomed.

You can control the uncommit delay using -XX:ZUncommitDelay=<seconds> 
(defaults to 5 min). And unlike what the JEP currently suggests, this 
patch has an explicit option to turn this feature off (-XX:-ZUncommit).

Uncommitting of unused memory sort of plays together with proactive GCs, 
which typically will kicks in when the allocation rate is low for a 
longer period. If proactive GCs aren't happening at a pace that fits 
your workload, you can use -XX:ZCollectionInterval=<seconds> to make a 
GC to happen at least once within the given interval.

cheers,
Per

On 3/29/19 12:58 PM, per.liden at oracle.com wrote:
> Changeset: ffab403eaf14
> Author:    pliden
> Date:      2019-03-29 12:58 +0100
> URL:       http://hg.openjdk.java.net/zgc/zgc/rev/ffab403eaf14
> 
> Implementation of JEP 351: ZGC: Uncommit Unused Memory (Preview 1)
> 
> ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp
> ! src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.cpp
> ! src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.hpp
> ! src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.cpp
> ! src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.cpp
> ! src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.hpp
> ! src/hotspot/share/gc/z/vmStructs_z.hpp
> ! src/hotspot/share/gc/z/zCollectedHeap.cpp
> ! src/hotspot/share/gc/z/zCollectedHeap.hpp
> ! src/hotspot/share/gc/z/zHeap.cpp
> ! src/hotspot/share/gc/z/zHeap.hpp
> ! src/hotspot/share/gc/z/zMemory.cpp
> ! src/hotspot/share/gc/z/zMemory.hpp
> ! src/hotspot/share/gc/z/zPage.cpp
> ! src/hotspot/share/gc/z/zPage.hpp
> ! src/hotspot/share/gc/z/zPage.inline.hpp
> ! src/hotspot/share/gc/z/zPageAllocator.cpp
> ! src/hotspot/share/gc/z/zPageAllocator.hpp
> ! src/hotspot/share/gc/z/zPhysicalMemory.cpp
> ! src/hotspot/share/gc/z/zPhysicalMemory.hpp
> ! src/hotspot/share/gc/z/zPhysicalMemory.inline.hpp
> - src/hotspot/share/gc/z/zPreMappedMemory.cpp
> - src/hotspot/share/gc/z/zPreMappedMemory.hpp
> - src/hotspot/share/gc/z/zPreMappedMemory.inline.hpp
> + src/hotspot/share/gc/z/zUncommitter.cpp
> + src/hotspot/share/gc/z/zUncommitter.hpp
> ! src/hotspot/share/gc/z/zVirtualMemory.cpp
> ! src/hotspot/share/gc/z/zVirtualMemory.hpp
> ! src/hotspot/share/gc/z/zVirtualMemory.inline.hpp
> ! src/hotspot/share/gc/z/z_globals.hpp
> ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageAllocator.java
> - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPhysicalMemoryManager.java
> ! test/hotspot/gtest/gc/z/test_zForwarding.cpp
> ! test/hotspot/gtest/gc/z/test_zPhysicalMemory.cpp
> - test/hotspot/gtest/gc/z/test_zVirtualMemory.cpp
> ! test/hotspot/jtreg/ProblemList-zgc.txt
> + test/hotspot/jtreg/gc/z/TestUncommit.java
> 


More information about the zgc-dev mailing list