RFR: 8190283 - Default heap sizing options select a MaxHeapSize larger than available physical memory in some case

Bob Vandette bob.vandette at oracle.com
Fri Nov 3 16:42:15 UTC 2017


I realized that I didn’t post the webrev on our external server.  There was only 1 file changed.
Here’s the diff:

*** old/src/hotspot/share/runtime/arguments.cpp	Fri Nov  3 11:50:07 2017
--- new/src/hotspot/share/runtime/arguments.cpp	Fri Nov  3 11:50:07 2017

*** 2086,2098 ****
--- 2086,2099 ----
    // If the maximum heap size has not been set with -Xmx,
    // then set it as fraction of the size of physical memory,
    // respecting the maximum and minimum sizes of the heap.
    if (FLAG_IS_DEFAULT(MaxHeapSize)) {
      julong reasonable_max = (julong)((phys_mem * MaxRAMPercentage) / 100);
      if (phys_mem <= (julong)((MaxHeapSize * MinRAMPercentage) / 100)) {
+     const julong reasonable_min = (julong)((phys_mem * MinRAMPercentage) / 100);
+     if (reasonable_min < MaxHeapSize) {
        // Small physical memory, so use a minimum fraction of it for the heap
!       reasonable_max = (julong)((phys_mem * MinRAMPercentage) / 100);
!       reasonable_max = reasonable_min;
      } else {
        // Not-small physical memory, so require a heap at least
        // as large as MaxHeapSize
        reasonable_max = MAX2(reasonable_max, (julong)MaxHeapSize);
      }
Bob

> On Nov 3, 2017, at 11:58 AM, Bob Vandette <bob.vandette at oracle.com> wrote:
> 
> Please review this simple change that alters the algorithm for selecting the
> default heap size on low (~100MB) memory environments.
> 
> This issue is blocking the integration of the container improvements (https://bugs.openjdk.java.net/browse/JDK-8146115 <https://bugs.openjdk.java.net/browse/JDK-8146115>).
> 
> 
> BUG:
> https://bugs.openjdk.java.net/browse/JDK-8190283 <https://bugs.openjdk.java.net/browse/JDK-8190283>
> 
> WEBREV:
> http://bussund0417.us.oracle.com/export/users/bobv/jdk10hs-base/open/webrev/ <http://bussund0417.us.oracle.com/export/users/bobv/jdk10hs-base/open/webrev/>
> 
> Bob.
> 



More information about the hotspot-dev mailing list