Merge pull request #2751 from pikasTech/fix/nc01-memory-reclaim-outcome

fix: 暴露内存回收真实结果
This commit is contained in:
Lyon
2026-07-21 15:20:55 +08:00
committed by GitHub
4 changed files with 46 additions and 8 deletions
+4
View File
@@ -83,6 +83,10 @@ NC01 的内存压力 cgroup 回收规则:
- owning YAML 声明目标 cgroup、回收量、`minimumInactiveAnonBytes` 和 swap 保留线;
- plan 与执行前复核 `inactive_anon` 不低于 YAML 下限;
- 最坏情况下的换出量不会突破 YAML 声明的 `minimumSwapFreeBytesAfterReclaim`
- cgroup `reclaimBytes` 只表示内核请求上界,不是预期收益:
- plan 必须显示 `estimateKind=kernel-request-upper-bound`
- job 终态必须分别披露 cgroup 实际下降、`MemAvailable` 变化、`targetMet` 和剩余缺口;
- 内核请求成功但目标未达到时,结果必须为 `memory-target-not-met`,不得按请求量宣称已回收;
-`plan``run --confirm``status``memory` 的顺序复核实际结果。
默认 `/tmp` GC 只包含 allowlisted 诊断目录和已知低风险路径。非 allowlist 的 stale `/tmp` 一级子项必须显式 `--include-stale-tmp` 才能进入候选;扫描按 `--limit` 有界枚举候选,执行时仍只允许删除 `/tmp` 直接子项,并避开 X11/ICE/font socket、systemd private、tmux、ssh、vscode 等系统/session 前缀。该入口不能递归扩大成通用 `/tmp` 清空器,也不能为了估算全量临时目录而长时间阻塞。