RFR: JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups [v6]

Matthias Baesken mbaesken at openjdk.java.net
Fri Jul 23 06:52:06 UTC 2021


On Thu, 22 Jul 2021 12:18:20 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

>> Hello, please review this PR; it extend the OSContainer API in order to also support the pids controller of cgroups.
>> 
>> I noticed that unlike the other controllers "cpu", "cpuset", "cpuacct", "memory"  on some older Linux distros (SLES 12.1, RHEL 7.1) the pids controller might not be there (or not fully supported) so it was added as optional  , see the coding
>> 
>> 
>>   if (!cg_infos[PIDS_IDX]._data_complete) {
>>     log_debug(os, container)("Optional cgroup v1 pids subsystem not found");
>>     // keep the other controller info, pids is optional
>>   }
>
> Matthias Baesken has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Minor adjustments, handling of Unlimited

> @MBaesken Thanks. We need a solution for [#4518 (comment)](https://github.com/openjdk/jdk/pull/4518#issuecomment-882637594) though. `--pids-limit=-1` doesn't seem to make it unlimited on all container runtimes. For example it fails for me here with:
> 
> ```
> $ docker --version
> Docker version 20.10.6, build 370c289
> ```

Hi Severin, that's a pity and looks like a bug, because the docker documentation says 
https://docs.docker.com/engine/reference/commandline/run/

<html>
<body>


--pids-limit |   | Tune container pids limit (set -1 for unlimited)
-- | -- | --



</body>
</html>

Do you have an idea what to set with docker 20 on your setup?  I did not find much about this in the docker 20 release notes https://docs.docker.com/engine/release-notes/ .

-------------

PR: https://git.openjdk.java.net/jdk/pull/4518


More information about the core-libs-dev mailing list