commit | a76dad966a626d3e0f27769a7a38ef5973bbb06e | [log] [tgz] |
---|---|---|
author | Devin Leamy <dleamy@twitter.com> | Thu Apr 25 15:49:11 2024 -0400 |
committer | Benjamin Mahler <bmahler@apache.org> | Thu Apr 25 15:56:03 2024 -0400 |
tree | a99710e149028c53445b4edadf6db240c1b38cff | |
parent | 019ec1ac74f5e8aef7efbb8adf9d5c5036f116e1 [diff] |
[cgroups2] Handle missing 'kernel' field in 'memory.stat' on linux < 5.18. The 'kernel' key was introduced to 'memory.stat' in Kernel 5.18 and therefore isn't present on older kernels. If it is missing, we set `kernel` to be the sum of the other kernel usage fields provided in 'memory.stat'. This is an under-accounting since it doesn't include: - various kvm allocations (e.g. allocated pages to create vcpus) - io_uring - tmp_page in pipes during pipe_write() - bpf ringbuffers - unix sockets But it's the best measurement we can provide prior to the 'kernel' stat being added in 5.18 that catches all of these. As part of this, we add the 'slab' key (one of the kernel memory usage fields) to the `memory::Stats` structure. See kernel patch introducing 'kernel': https://github.com/torvalds/linux/commit/a8c49af3be5f0b4e105ef678bcf14ef102c270be This closes #576
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.
Visit us at mesos.apache.org.
Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.
Instructions are included on the Getting Started page.
Apache Mesos is licensed under the Apache License, Version 2.0.
For additional information, see the LICENSE and NOTICE files.