社区首页 >问答首页 >SBCL中的转储堆问SBCL中的转储堆ENStack Overflow用户提问于 2021-08-05 13:36:31回答 1查看 76关注 0票数 0我的程序执行因以下诊断而中止:
代码语言:javascript运行复制Heap exhausted during garbage collection: 0 bytes available, 16 requested.
Gen Boxed Code Raw LgBox LgCode LgRaw Pin Alloc Waste Trig WP GCs Mem-age
3 21843 1 47 0 0 0 59 716955392 368896 2000000 21891 0 1.0481
4 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000
5 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000
6 491 2 223 55 0 10 0 24917312 674496 2000000 781 0 0.0000
7 10080 0 15 0 0 0 0 330663696 129264 2000000 10095 0 0.0000
Total bytes allocated = 1072536400
Dynamic-space-size bytes = 1073741824
GC control variables:
*GC-INHIBIT* = true
*GC-PENDING* = true
*STOP-FOR-GC-PENDING* = false
fatal error encountered in SBCL pid 88102(tid 0x7fff9e07c380):
Heap exhausted, game over.
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>有没有办法找到所有内存被消耗的地方?程序本身在这里:https://github.com/hemml/gridgen2
common-lispsbcl关注问题分享ENStack Overflow用户发布于 2021-08-15 16:05:47
如果你能在堆耗尽之前完成这项工作,SBCL的(room t)将为你提供更多的信息。我不熟悉LDB,也不熟悉它是否可以执行room。但是,您可以将对(room t)的调用包装为将其输出重定向到文件的内容,并将该函数添加到*after-gc-hooks*列表中,这样您就可以看到(非常详细的)增长模式。
收藏分享票数 1EN查看全部 1 条回答页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/68667632
复制相关文章