Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8170888

[linux] Experimental support for cgroup memory limits in container (ie Docker) environments

    Details

    • Subcomponent:
    • Resolved In Build:
      b150
    • OS:
      linux

      Backports

        Description

        We have an open RFE targeted to JDK 10 to get the JVM to play nicely with memory limits imposed by a Docker container (through the Linux cgroups facility): JDK-8146115

        There has been a non-Oracle submission to get some basic support for this into 9:

        http://mail.openjdk.java.net/pipermail/hotspot-dev/2016-November/025404.html

        then:

        http://mail.openjdk.java.net/pipermail/hotspot-dev/2016-December/025406.html

        It is proposed for this RFE that we add an experimental VM option, such as -XX:+UseCGroupMemoryLimitForHeap, to opt-in to using the value in /sys/fs/cgroup/memory/memory.limit_in_bytes as the value for phys_mem as suggested in the submission.

        This will allow us to get quick feedback from the community and customers as to how things work, and allow us to shape the full RFE for JDK 10.

          Issue Links

            Activity

            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/hs/hotspot/rev/5f1d1df0ea49
            User: dholmes
            Date: 2016-12-13 00:59:04 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/hs/hotspot/rev/5f1d1df0ea49 User: dholmes Date: 2016-12-13 00:59:04 +0000
            Hide
            dholmes David Holmes added a comment -
            In looking at the backport to 8u I realized that this effort served very little purpose. The user can just as easily specify:

            -XX:MaxRAM=`cat /sys/fs/cgroup/memory/memory.limit_in_bytes`

            to get the same results.
            Show
            dholmes David Holmes added a comment - In looking at the backport to 8u I realized that this effort served very little purpose. The user can just as easily specify: -XX:MaxRAM=`cat /sys/fs/cgroup/memory/memory.limit_in_bytes` to get the same results.
            Hide
            chf Christine Flood added a comment -
            First of all that's cumbersome, and secondly it will blow up for naive users if there is no memory.limit_in_bytes file. This fix is very localized and will not hurt anyone and will save our customer's some headaches.
            Show
            chf Christine Flood added a comment - First of all that's cumbersome, and secondly it will blow up for naive users if there is no memory.limit_in_bytes file. This fix is very localized and will not hurt anyone and will save our customer's some headaches.
            Hide
            dholmes David Holmes added a comment -
            Okay - a request for enhancement backport approval for 8u has been sent to jdk8u-dev@openjdk.java.net
            Show
            dholmes David Holmes added a comment - Okay - a request for enhancement backport approval for 8u has been sent to jdk8u-dev@openjdk.java.net
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/5f1d1df0ea49
            User: lana
            Date: 2016-12-21 16:40:09 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/5f1d1df0ea49 User: lana Date: 2016-12-21 16:40:09 +0000

              People

              • Assignee:
                dholmes David Holmes
                Reporter:
                dholmes David Holmes
              • Votes:
                0 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved: