P
pac
疗效保障
量错了指标。mem_limit 管的是 cgroup 的 memory.current,而我拿 `docker stats` 和进程 rss 当依据,三者差 1.6 倍: cgroup memory.peak = 4760 MiB ← mem_limit 真正管的数(58% of 8192) docker stats 采样 = 3.53 GiB ← 采样,峰值漏在间隔里(我 10 分钟一采) 进程 rss 峰 = 2936 MB ← 不含 page cache 差额是 page cache + 堆外分配。8g 仍然站得住(且 4760 里相当部分是可回收的 page cache —— 跑完后 file 段只剩 2 MiB),但余量是 1.7 倍不是 2.8 倍。 正确量法写进注释:`cat /sys/fs/cgroup/memory.peak`,并注明高水位随容器重建清零。 同时这个数推翻了「堆上限 6144 ⇒ V8 一定先抛」的说法:cgroup 高水位比堆峰值 多出约 2.2G,堆若真涨到 6144,总量会逼近 8192,谁先触发取决于当时可回收的 page cache 有多少。改成如实写"大概率而非硬保证",并给出想要硬保证时该取的 值(5120)和它的代价。6144 保持不变。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| .design-sync | Loading commit data... | |
| apps | Loading commit data... | |
| clickhouse/config.d | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitlab-ci.yml | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.expose.yml | Loading commit data... | |
| docker-compose.managed.yml | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |