-
-
Notifications
You must be signed in to change notification settings - Fork 386
物理真机卡死过2次 gpt5.6分析的结果 #1408
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingoncallCritical blocking issue requiring immediate oncall attentionCritical blocking issue requiring immediate oncall attentionquestionFurther information is requestedFurther information is requested
Description
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingoncallCritical blocking issue requiring immediate oncall attentionCritical blocking issue requiring immediate oncall attentionquestionFurther information is requestedFurther information is requested
Projects
StatusShow more project fields
Done
结论:192.168.0.151 这次“卡死”是 CC Hub 的 Node 进程内存泄漏/失控,耗尽整机内存和交换分区,触发 Linux 全局 OOM。
关键证据:
2026-08-09 11:40:50:内核杀掉 CC Hub 的 node-MainThread。匿名常驻内存:29,626,620 KiB,约 28.2 GiB
交换分区:0 KiB 可用
Docker 退出码:137
随后 Docker 自动重启容器
同一容器在前一天也发生过完全相同的问题:2026-08-08 19:44:57
Node 内存约 30,038,260 KiB,约 28.6 GiB
同样是 OOM、退出码 137
OOM 前 Redis 的 bio_aof 线程处于 D 状态超过 245 秒,多个 Docker healthcheck 超时;这是内存耗尽后的 I/O 堵塞表现,不是最初原因。
当前容器没有内存限制:Memory=0,因此 Node 可以继续增长并拖垮宿主机。
PostgreSQL、Redis 本身内存都只有几百 MiB以内,持久化 replay 数据约 124 MiB,不足以解释这次故障。
磁盘根分区虽已使用 92%,但仍有约 36 GiB 可用,不是磁盘写满导致。
最可疑的配置路径是 CC Hub 当前启用的:
STORE_SESSION_RESPONSE_BODY=true
并且使用了请求重放/响应保存功能。结合两次都在容器启动后约十几分钟至二十多分钟增长到 30 GiB,基本可以判断是 CC Hub 0.9.2 的某个请求/流式响应处理路径存在持续内存增长。现有日志没有 heap dump,所以还不能精确指认具体 JavaScript 对象。
目前容器已自动恢复,CC Hub 内存约 380 MiB,但如果不限制内存或关闭响应体保存,同样的 OOM 很可能再次发生。