gpt4 book ai didi

node.js - Node js 堆检查器中的全局句柄和 GC 根是什么?

转载 作者:行者123 更新时间:2023-12-04 17:41:02 26 4
gpt4 key购买 nike

我正在尝试检查正在运行的快速 Node js 应用程序的堆。

在堆转储比较中,看起来有些字符串没有被释放。
他们所绑定(bind)的 promise 已经解决,但 Retainers 链上升到全局句柄,然后到 GC 根。我没有遵循这些含义。

有人可以解释一下吗?
为什么 GC 无法收集这些已解决的 promise ?

node js heap snapshot

最佳答案

Node 持有对启用 async_hooks 时创建的每个 promise 的引用,以及对已拒绝的 promise 的引用,以显示未处理的拒绝警告。

PromiseWrap 是 async_hooks 使用的,而随机数组是未处理的拒绝跟踪使用的数组。

请注意,无法禁用未处理的拒绝跟踪:(,但您可以放心,它们已被负责任地清理干净。

关于node.js - Node js 堆检查器中的全局句柄和 GC 根是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54484892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com