docs: 记录 NC01 内存恢复安全停止证据

This commit is contained in:
pikastech
2026-07-18 11:54:00 +02:00
parent 2ce25f0a5c
commit eb5dd00a73
@@ -0,0 +1,59 @@
# R1.2 任务报告
## 结论
本轮已耗尽不影响业务可用性的受控 GC 候选,并完成 AgentRun session PVC、Kafka JVM 和 host swap 的 YAML-first 收敛。NC01 的 `/proc/meminfo MemAvailable` 最终约 2.7 GiB,仍未达到 4 GiB;剩余约 1.3 GiB 缺口来自常驻业务匿名内存,继续推进需要用户明确选择缩容或按需化的业务,R1.2 因此保持进行中。
## 已完成
- 通过 `gc remote NC01 memory-distribution` 完成进程、PSS、swap、cgroup、zombie 和 Kubernetes 对象归因。
- 修复 AgentRun session PVC 回收入口:
- PR #2519 修复 release 前缀漂移、逐 PVC `du` 和默认输出超限;
- PR #2520 在全选 confirm 中跳过无意义尺寸扫描;
- `agentrun-release` PVC 94→0
- `agentrun-v02` PVC 746→147
- 599 个 v0.2 和 94 个 release 无活跃挂载、`local-path/Delete` PVC 已回收;
- 146 个 Pending/无 Delete PV PVC 保持保护;
- 级联结束后 PV 收敛为 62 个 Bound。
- 收紧 Kafka JVM budget并保持纯 Kafka 架构不变:
- PR #2523broker `Xmx 1g→768m`Topic/User Operator `192m→128m`
- 受控 apply 后 Kafka ready10 个 topic 和 4 个 client ready
- broker RSS约 0.51 GiBEntity Operator约0.32 GiB。
- 执行 YAML allowlisted memory-pressure job `nc01-memory-pressure-1784367590-1560594`
- 两组 cgroup reclaim成功;
- 精确终止一个无 observer 归属、身份闭合的 Chrome 逃逸树;
- 实际 `MemAvailable` 仅短增约 89 MiB,证明重复 reclaim无法解决常驻匿名内存。
- PR #2524 将 NC01 64 GiB host swap 的 swappiness从10收敛到60;运行态和sysctl持久化均为60swap继续从WebProbe资格中排除。
- 自动 Kubernetes retention policy已恢复同步,HWLAB CI history已收紧并完成历史对象回收。
## 最终基线
- `MemAvailable`:约2.7 GiB,来源 `/proc/meminfo`swap excluded。
- 距4 GiB目标:约1.3 GiB。
- 主要常驻PSS
- k3s-server约1.81 GiB
- Kafka broker约0.50 GiB
- Gitea约0.38 GiB
- Argo Application Controller约0.34 GiB
- Strimzi Operator约0.27 GiB
- Temporal约0.25 GiB。
- 僵尸进程约92个,主要归属git-mirror-write与todo-note;这是子进程回收缺陷,但不是1.3 GiB内存缺口主因。
## 阻塞与决策
Webterm按用户要求未触碰。要达到4 GiB,必须释放约1.3 GiB常驻业务工作集,可选组合包括:
- Sub2Rank development worker约0.23 GiB
- HWLAB v0.3 HarnessRL、Workbench、TaskTree workers合计约0.61 GiB
- HWLAB dev/prod OpenCode合计约0.42 GiB
- SelfMedia development约0.3 GiB级。
这些动作会改变业务可用性,不能由GC策略擅自执行。用户选择前保持安全停止:不重启k3s、不裸删workload、不重复cgroup reclaim、不把SwapFree计入目标。
## 证据
- Issue进展:https://github.com/pikasTech/unidesk/issues/1710#issuecomment-5010818591
- PR #2519https://github.com/pikasTech/unidesk/pull/2519
- PR #2520https://github.com/pikasTech/unidesk/pull/2520
- PR #2523https://github.com/pikasTech/unidesk/pull/2523
- PR #2524https://github.com/pikasTech/unidesk/pull/2524