Skip to content

Modal hostmem: own cgroup (v2/v1) memory, limit, OOM-kill count, summed RSS - #228

Merged
michaellchung merged 1 commit into
mainfrom
s19-hostmem-cgroup
Oct 10, 2026
Merged

michaellchung merged 1 commit into
mainfrom
s19-hostmem-cgroup

Conversation

@michaellchung

Copy link
Copy Markdown
Contributor

背景

s19-compaction-g3-20261010b:岛 0 在 critic 训练中途收到外部 SIGTERM。hostmem 采样的 cgroup_current/peak 一直是 null,因为只读了 /sys/fs/cgroup 根目录,所以无法排除内存原因。

改动(只改观测,不改逻辑)

  • 按 /proc/self/cgroup 解析出容器自己的 cgroup 路径。
  • v2:读 memory.current/peak/max/events(oom、oom_kill)。
  • v1 回退:读 usage_in_bytes/max_usage_in_bytes/limit_in_bytes/oom_control/failcnt。
  • 新增 proc_rss_sum:所有可见进程的 VmRSS 之和,不依赖 cgroup 的兜底。

测试

  • 新增单测,覆盖 v2、v1、读不到、RSS 四种情况,并在本机实读到非 null(cgroup v2)。
  • modal_fn_volume/dashboard 相关 32 个通过;precommit 通过。
  • 上卡:未验证。

子 agent 代拍板:观测改动,C 跑用本分支代码(main b31e964 + 本 PR)。

🤖 Generated with Claude Code

…it and OOM-kill count, plus summed process RSS

s19-compaction-g3-20261010b: island 0 got SIGTERM mid critic training and the
host-memory samples had cgroup_current/peak = null (only /sys/fs/cgroup root was
read), so a memory cause could not be checked. The sampler now resolves the
own cgroup from /proc/self/cgroup, reads v2 memory.current/peak/max/events
(oom, oom_kill) or v1 usage/max_usage/limit/oom_control, and records the
summed VmRSS of all visible processes as a cgroup-free fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@michaellchung
michaellchung merged commit 5086771 into main Oct 10, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants