fix: 收敛 NC01 物理内存回收边界
This commit is contained in:
@@ -73,13 +73,16 @@
|
||||
- 数量、超时、资源和 namespace 范围全部由 `config/unidesk-cli.yaml` 的
|
||||
`memoryPressure.attribution` 拥有。
|
||||
|
||||
NC01 的内存压力文件页回收规则:
|
||||
NC01 的内存压力 cgroup 回收规则:
|
||||
|
||||
- 只从 YAML 精确允许的 k3s cgroup 请求回收;
|
||||
- 固定使用 `swappiness=0`;
|
||||
- 不把 swap 当作可用物理内存;
|
||||
- 不终止 workload,也不重启 k3s;
|
||||
- 执行前由 overview 证明目标 cgroup 存在足够的非匿名页;
|
||||
- `swappiness=0` 的文件页回收必须由 overview 证明目标 cgroup 存在足够的非匿名页;
|
||||
- `swappiness>0` 的匿名页回收必须同时满足:
|
||||
- owning YAML 声明目标 cgroup、回收量、`minimumInactiveAnonBytes` 和 swap 保留线;
|
||||
- plan 与执行前复核 `inactive_anon` 不低于 YAML 下限;
|
||||
- 最坏情况下的换出量不会突破 YAML 声明的 `minimumSwapFreeBytesAfterReclaim`;
|
||||
- 按 `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` 清空器,也不能为了估算全量临时目录而长时间阻塞。
|
||||
|
||||
Reference in New Issue
Block a user