From eb5dd00a73de9e37dd3c38e328c3af14194f0e32 Mon Sep 17 00:00:00 2001 From: pikastech Date: Sat, 18 Jul 2026 11:54:00 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=20NC01=20=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=81=A2=E5=A4=8D=E5=AE=89=E5=85=A8=E5=81=9C=E6=AD=A2?= =?UTF-8?q?=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../R1.2_Task_Report.md | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/MDTODO/details/platform-resource-governance/R1.2_Task_Report.md diff --git a/docs/MDTODO/details/platform-resource-governance/R1.2_Task_Report.md b/docs/MDTODO/details/platform-resource-governance/R1.2_Task_Report.md new file mode 100644 index 00000000..f6a317c2 --- /dev/null +++ b/docs/MDTODO/details/platform-resource-governance/R1.2_Task_Report.md @@ -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 #2523:broker `Xmx 1g→768m`,Topic/User Operator `192m→128m`; + - 受控 apply 后 Kafka ready,10 个 topic 和 4 个 client ready; + - broker RSS约 0.51 GiB,Entity 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持久化均为60,swap继续从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 #2519:https://github.com/pikasTech/unidesk/pull/2519 +- PR #2520:https://github.com/pikasTech/unidesk/pull/2520 +- PR #2523:https://github.com/pikasTech/unidesk/pull/2523 +- PR #2524:https://github.com/pikasTech/unidesk/pull/2524