# 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
