Tag: 垃圾回收

  1. [译]Node.js垃圾回收与内存泄露的排查

    原文地址:https://blog.codeship.com/understanding-garbage-collection-in-node-js/ 阅读时间: 8 分钟 尽管总有一些Node.js(通常)性能方面的负面报道,这并不是说Node.js比其他技术更容易出现问题。我们需要清楚知道Node.js是怎么玩的。 虽然这项技术的学习曲线相当平坦,但是其内部的实现是相当复杂的,而且你必须要了解怎么规避一些陷阱。 如果一旦出现错误你需要知道怎么快速解决问题。 这篇文章我会提到Node.js的内存管理是怎么回事,怎么能追踪内存泄露问题。和其他平台语言不同(如php), Node.js程序是一种长期运行的线程。虽然这有很多用武之地,比如一次数据库链接之后所有的请求均可复用,但是这也会产生很多问题。 首先我们来搞清楚一些Node.js的基本问题。 Node.js是通过V8引擎控制C++程序的Javascript Google的V8引擎最开始适用于Chrome浏览器的,但是它也可以独立运行,Node.js能抱大腿就是因为它能独立运行。 V8的编译器编译js成本机代码然后运行,运行过程中V8负责按需要回收,释放内存。所以我们在说内存管理实际上是说V8的内存管理机制。 V8的内存设计 一个程序的运行可以用一些内存分配来表示。这些内存分配我们叫常驻内存,V8的内存结构设计和JVM很相似,它将内存分为如下几部分: 代码块…

    on node.js gc 内存溢出 垃圾回收