-
Enhancement
-
Resolution: Fixed
-
P3
-
22
-
b05
Container information printed in hs_err files and jcmd VM.info does not contain the 'rss' and 'cache' usage. For a process running in a cgroup based container, it is not just the 'rss' that is accounted towards the total memory usage. The 'cache' usage is also counted towards the memory usage. The OOM killer can terminate a process if its rss+cache usage reaches the max memory limit of the container.
Often times, users monitor the RSS of processes running in a container, and get confused when a process gets terminated by the OOM killer even when its RSS is much lower than the max memory limit of the container.
Currently, we print the total memory usage (from /sys/fs/cgroup/memory/memory.usage_in_bytes) in hs_err and VM.info output.
Example:
container (cgroup) information:
container_type: cgroupv1
cpu_cpuset_cpus: 0-1
cpu_memory_nodes: 0
active_processor_count: 2
cpu_quota: no quota
cpu_period: 100000
cpu_shares: no shares
memory_limit_in_bytes: 524288 k
memory_and_swap_limit_in_bytes: 1048576 k
memory_soft_limit_in_bytes: unlimited
memory_usage_in_bytes: 524164 k. <<------
memory_max_usage_in_bytes: 524288 k.
kernel_memory_usage_in_bytes: 3124 k
kernel_memory_max_usage_in_bytes: unlimited
kernel_memory_limit_in_bytes: 4272 k
maximum number of tasks: unlimited
current number of tasks: 35
It would be very helpful to print the 'rss' and 'cache' usage as well, which can be obtained from /sys/fs/cgroup/memory/memory.stat file.
Often times, users monitor the RSS of processes running in a container, and get confused when a process gets terminated by the OOM killer even when its RSS is much lower than the max memory limit of the container.
Currently, we print the total memory usage (from /sys/fs/cgroup/memory/memory.usage_in_bytes) in hs_err and VM.info output.
Example:
container (cgroup) information:
container_type: cgroupv1
cpu_cpuset_cpus: 0-1
cpu_memory_nodes: 0
active_processor_count: 2
cpu_quota: no quota
cpu_period: 100000
cpu_shares: no shares
memory_limit_in_bytes: 524288 k
memory_and_swap_limit_in_bytes: 1048576 k
memory_soft_limit_in_bytes: unlimited
memory_usage_in_bytes: 524164 k. <<------
memory_max_usage_in_bytes: 524288 k.
kernel_memory_usage_in_bytes: 3124 k
kernel_memory_max_usage_in_bytes: unlimited
kernel_memory_limit_in_bytes: 4272 k
maximum number of tasks: unlimited
current number of tasks: 35
It would be very helpful to print the 'rss' and 'cache' usage as well, which can be obtained from /sys/fs/cgroup/memory/memory.stat file.
- relates to
-
JDK-8249666 Improve Native Memory Tracking to report the actual RSS usage
- In Progress