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

[Metrics] Swap memory limit reported incorrectly when too large

    XMLWordPrintable

Details

    Backports

      Description

        This bug is related to JDK-8292541 which fixed the reported memory limit when it (potentially) exceeds physical host memory. However, a similar issue can happen with Metrics.getMemoryAndSwapLimit(), when the memory limit exceeds host swap limit. That should also not happen.

        Host system:
        $ free -b
                       total used free shared buff/cache available
        Mem: 67174510592 11629891584 32003850240 1106583552 23540768768 53689348096
        Swap: 8589930496 3145728 8586784768

        I.e. total host swap is '8589930496' (8 GB). Total system memory is 64 GB. The container should not be allowed to exceed the host memory and host swap values (8+64 = 72GB).

        Reproducer:

        $ sudo podman run --rm -ti -v $(pwd)/build/linux-x86_64-server-fastdebug/images/jdk:/opt/jdk:z --memory 671745105920 --memory-swap 671745105920 fedora:37 /opt/jdk/bin/java -XshowSettings:system -version
        Operating System Metrics:
            Provider: cgroupv1
            Effective CPU Count: 12
            CPU Period: 100000us
            CPU Quota: -1
            CPU Shares: -1
            List of Processors, 12 total:
            0 1 2 3 4 5 6 7 8 9 10 11
            List of Effective Processors, 12 total:
            0 1 2 3 4 5 6 7 8 9 10 11
            List of Memory Nodes, 1 total:
            0
            List of Available Memory Nodes, 1 total:
            0
            Memory Limit: Unlimited
            Memory Soft Limit: Unlimited
            Memory & Swap Limit: 625.61G
            Maximum Processes Limit: 2048

        openjdk version "20-internal" 2023-03-21
        OpenJDK Runtime Environment (fastdebug build 20-internal-adhoc.sgehwolf.jdk-jdk)
        OpenJDK 64-Bit Server VM (fastdebug build 20-internal-adhoc.sgehwolf.jdk-jdk, mixed mode, sharing)

        Note the Memory and Swap Limit of '625.61G' It should be 'Unlimited' (=> use host values).

        Attachments

          Issue Links

            Activity

              People

                sgehwolf Severin Gehwolf
                sgehwolf Severin Gehwolf
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: