fix: make root file reclaim exactly selectable

This commit is contained in:
pikastech
2026-07-21 21:20:26 +02:00
parent e7b82a491a
commit 3bc85ca718
9 changed files with 281 additions and 18 deletions
+5
View File
@@ -28,6 +28,8 @@
- `--full` 只用于下钻完整候选身份明细,不作为 scoped run 的前置步骤;
- 不得混入通用磁盘 GC 候选;
- 执行入口必须显式携带 `--confirm`
- 需要只执行一个 cgroup 回收策略时,plan 和 run 必须同时携带 `--memory-reclaim-config-id <id>`
- `<id>` 只匹配 owning YAML `memoryPressure.cgroupReclaim.targets[].id`,精确模式不收集或执行其他 cgroup 与进程候选。
- `gc remote <providerId> memory`
- 只读读取 `/proc/meminfo``MemAvailable`
- 不执行 cluster preflight、候选扫描或 mutation
@@ -232,6 +234,8 @@ JD01 Web observe artifact 是一等 GC 对象。state root 必须来自 YAML
```bash
bun scripts/cli.ts gc remote <node> plan --memory-pressure-only
bun scripts/cli.ts gc remote <node> run --confirm --memory-pressure-only
bun scripts/cli.ts gc remote <node> plan --memory-pressure-only --memory-reclaim-config-id <id>
bun scripts/cli.ts gc remote <node> run --confirm --memory-pressure-only --memory-reclaim-config-id <id>
bun scripts/cli.ts gc remote <node> status --job-id <id>
bun scripts/cli.ts gc remote <node> memory
```
@@ -240,6 +244,7 @@ bun scripts/cli.ts gc remote <node> memory
- 先复核 `plan --memory-pressure-only` 的候选、保护对象、预计回收量和 `runEligibility`
- 只有 `runEligibility.allowed=true` 时才允许继续;
- 只执行参数完全匹配的 `run --confirm --memory-pressure-only`
- 精确 cgroup plan 使用 `--memory-reclaim-config-id` 时,run 必须携带同一个 YAML `id`
- `run` 返回 job id 后,重复执行 `status --job-id <id>` 直到明确终态;
- job 未终态时,禁止提前执行 `memory` 或重试 WebProbe
- job 终态后执行 `memory`,以新的 `/proc/meminfo` 快照重新判定;