Skip to content

Cherry pick #100901 to 26.2: Subtract slab_reclaimable from kernel memory in cgroupv2 reader#101600

Merged
robot-clickhouse-ci-1 merged 4 commits intobackport/26.2/100901from
cherrypick/26.2/100901
Apr 2, 2026
Merged

Cherry pick #100901 to 26.2: Subtract slab_reclaimable from kernel memory in cgroupv2 reader#101600
robot-clickhouse-ci-1 merged 4 commits intobackport/26.2/100901from
cherrypick/26.2/100901

Conversation

@robot-clickhouse-ci-1
Copy link
Copy Markdown
Contributor

Original pull-request #100901

Do not merge this PR manually

This pull-request is a first step of an automated backporting.
It contains changes similar to calling git cherry-pick locally.
If you intend to continue backporting the changes, then resolve all conflicts if any.
Otherwise, if you do not want to backport them, then just close this pull-request.

The check results does not matter at this step - you can safely ignore them.

Troubleshooting

If the conflicts were resolved in a wrong way

If this cherry-pick PR is completely screwed by a wrong conflicts resolution, and you want to recreate it:

  • delete the pr-cherrypick label from the PR
  • delete this branch from the repository

You also need to check the Original pull-request for pr-backports-created label, and delete if it's presented there

The PR source

The PR is created in the CI job

antonio2368 and others added 4 commits March 27, 2026 14:45
The cgroupv2 memory usage calculation now uses `anon + sock + (kernel - slab_reclaimable)`
instead of `anon + sock + kernel`. The `slab_reclaimable` portion is reclaimed synchronously
by the kernel under memory pressure before invoking the OOM killer, so it should not count
against the application's memory budget.

Also refactors `readMetricsFromStatFile` to populate a caller-owned map of individual metric
values instead of returning a sum, allowing callers to apply their own aggregation logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use `const auto *` instead of `auto` for the iterator over
`std::initializer_list<std::string_view>`, matching the existing
style on line 88.

https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=100901&sha=b4ef919a6193782e42a3c463a9bc0a43c632ebb0&name_0=PR&name_1=Build%20%28arm_tidy%29

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All keys (`kernel`, `slab_reclaimable`) have been in cgroupv2
`memory.stat` from the beginning, so there is no need for an
optional/mandatory distinction. Warn once on any missing key —
this also surfaces old-kernel or buggy environments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…aimable

Subtract slab_reclaimable from kernel memory in cgroupv2 reader
@robot-clickhouse-ci-1 robot-clickhouse-ci-1 added pr-cherrypick Cherry-pick of merge-commit before backporting. Do not use manually - automated use only! do not test disable testing on pull request labels Apr 2, 2026
@robot-clickhouse-ci-1 robot-clickhouse-ci-1 merged commit 522695a into backport/26.2/100901 Apr 2, 2026
163 of 166 checks passed
@robot-clickhouse-ci-1 robot-clickhouse-ci-1 deleted the cherrypick/26.2/100901 branch April 2, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not test disable testing on pull request pr-cherrypick Cherry-pick of merge-commit before backporting. Do not use manually - automated use only!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants