【问题标题】:Why does a Node.js heapdump shows compiled code?为什么 Node.js 堆转储显示已编译的代码?
【发布时间】:2015-02-22 01:26:57
【问题描述】:

您好,第一次调查 Node.js 应用程序中的内存泄漏。通过阅读 Chrome Profiler 中的 heapdump 快照,我看到有一个(已编译代码)条目,见附件。我认为 Javascript 没有被编译,不像 Java。任何人都可以发光吗?

此外,与 JProfiler 和代码编写方式不同(没有正式的构造函数),很难找到泄漏,并且到目前为止快照提供的信息不是很有用,我已经搜索了一段时间并且到目前为止还没有太多有用的信息来阅读这些快照,有什么建议吗?

谢谢!

【问题讨论】:

    标签: node.js memory-leaks v8


    【解决方案1】:

    (compiled code)确实是指V8的JIT编译器生成的代码。当今浏览器使用的所有 JavaScript VM 都使用分层的自适应 JIT 编译——否则就不可能获得良好的性能。事实上,V8 根本就没有解释器。

    【讨论】:

      【解决方案2】:

      指的是用 C++ 实现的宿主对象,例如 DOM,或 JS 内置函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-21
        • 2019-03-04
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多