首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nodejs的内存分布

nodejs的内存分布
EN

Stack Overflow用户
提问于 2015-04-01 09:43:54
回答 1查看 70关注 0票数 0

当我启动一个新的nodejs并输入process.memoryUsage()时,它显示

> process.memoryUsage() { rss: 11296768, heapTotal: 7195904, heapUsed: 2964776 }

因此nodejs使用11M内存,而V8的堆使用其中的7M内存。

还有什么东西会消耗剩下的11-7=4M内存,nodejs的c++部分?利布?v8本身?

有没有什么方法或工具可以查看内存分布?

ps:我不需要node- heap /node-memwatch来检测v8堆中的内存。它们主要测量js项目(js文件)使用的内存。我想知道节点本身使用了多少内存。哪些部分使用剩余的4M,以及每个部分使用多少。

EN

回答 1

Stack Overflow用户

发布于 2015-04-09 04:25:45

V8不会在垃圾收集器每次运行时都压缩堆。这意味着中间可能有未使用的空间。这是一个很烂的图表,显示了引擎盖下可能发生的事情。

代码语言:javascript
运行
复制
-------------------------------------------
|            |             |              |
|   used     |   unused    |      used    |
|            |             |              |
-------------------------------------------

所以总的堆大小是分配给最后一个字节的第一个字节。V8可能会在未来的某个时候使用“未使用”的空间,但它不需要这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29381497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档