1. Please describe the problem: After upgrading to kernel 6.12, the container support built into Java no longer picks up the correct memory limit - as set by the container runtime. The problem can be observed by running this command: podman run -it -m 2g fedora:41 bash -c "dnf install -y java-headless && java -XX:MaxRAMPercentage=50 -XshowSettings -Xlog:os+container=debug --version" that was supposed to set the maximum heap memory to 1GB, but with kernel 6.12, sets it to 1/2 the size of the host system. The problem seems to be related to this change: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=78567e2bc723b444228644d2e34ae5255d4ab8a0, and building the 2.16 kernel with CONFIG_CPUSETS_V1=y also solves the problem. I would suggest building Fedora kernel with CONFIG_CPUSETS_V1=y until commonly used JDK versions have fixed compatibility with the new cgroups behaviour. 2. What is the Version-Release number of the kernel: kernel-6.12.6-200.fc41.x86_64 3. Did it work previously in Fedora? If so, what kernel version did the issue *first* appear? Old kernels are available for download at https://koji.fedoraproject.org/koji/packageinfo?packageID=8 : It worked with all versions prior to 6.12 4. Can you reproduce this issue? If so, please provide the steps to reproduce the issue below: podman run -it -m 2g fedora:41 bash -c "dnf install -y java-headless && java -XX:MaxRAMPercentage=50 -XshowSettings -Xlog:os+container=debug --version" Expected output: "Max. Heap Size (Estimated): 1.00G" - also on host systems with more than 2GB memory. 5. Does this problem occur with the latest Rawhide kernel? To install the Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by ``sudo dnf update --enablerepo=rawhide kernel``: Yes, same problem with 6.13.0-0.rc4.36.fc42.x86_64 6. Are you running any modules that not shipped with directly Fedora's kernel?: No 7. Please attach the kernel logs. You can get the complete kernel log for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the issue occurred on a previous boot, use the journalctl ``-b`` flag. Reproducible: Always
This issue seems to have been resolved with the latest version of openjdk: https://bugs.openjdk.org/browse/JDK-8346874 Can be verified by running podman run -it --rm --memory 4G fedora:42 bash -c "dnf install -y adoptium-temurin-java-repository && dnf --enable-repo adoptium-temurin-java-repository install -y temurin-21-jdk && java -XX:MaxRAMPercentage=25 -XX:+UseContainerSupport -XshowSettings:vm -version"