RFR: 8321931: memory_swap_current_in_bytes reports 0 as "unlimited"

Severin Gehwolf sgehwolf at openjdk.org
Tue Jan 16 19:44:33 UTC 2024


On Mon, 8 Jan 2024 21:28:46 GMT, Gerard Ziemski <gziemski at openjdk.org> wrote:

> We make a distinction between 0 for a limit vs non-limit cgroup values.
> 
> For a limit-type value, 0 means `unlimited`. For all the others 0 means simply 0.
> 
> Output before from `jcmd PID VM.info`:
> 
> 
> container (cgroup) information:
> container_type: cgroupv2
> cpu_cpuset_cpus: not supported
> cpu_memory_nodes: not supported
> active_processor_count: 8
> cpu_quota: not supported
> cpu_period: not supported
> cpu_shares: not supported
> memory_limit_in_bytes: unlimited
> memory_and_swap_limit_in_bytes: unlimited
> memory_soft_limit_in_bytes: unlimited
> memory_usage_in_bytes: 11129120 k
> memory_max_usage_in_bytes: not supported
> memory_swap_current_in_bytes: unlimited
> memory_swap_max_limit_in_bytes: unlimited
> maximum number of tasks: 18963
> current number of tasks: 33
> 
> 
> Output now from `jcmd PID VM.info`:
> 
> 
> container (cgroup) information:
> container_type: cgroupv2
> cpu_cpuset_cpus: not supported
> cpu_memory_nodes: not supported
> active_processor_count: 8
> cpu_quota: not supported
> cpu_period: not supported
> cpu_shares: not supported
> memory_limit_in_bytes: unlimited
> memory_and_swap_limit_in_bytes: unlimited
> memory_soft_limit_in_bytes: unlimited
> memory_usage_in_bytes: 4962584 k
> memory_max_usage_in_bytes: not supported
> memory_swap_current_in_bytes: 0
> memory_swap_max_limit_in_bytes: unlimited
> maximum number of tasks: 18963
> current number of tasks: 33
> 
> In this example `memory_swap_current_in_bytes` should be printed as equal to 0, not "unlimited".

I'll have a look tomorrow. In general unlimited means `-1` not `0`. cg v1 doesn't explicitly set it to a specified value if it is unlimited. It's a very large number. For cg v2 it's usually the string `max` as specified by the kernel docs of interface files.

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

PR Comment: https://git.openjdk.org/jdk/pull/17314#issuecomment-1894398078


More information about the hotspot-runtime-dev mailing list