4

运行 v8 java-script 引擎所需的最小 RAM 是多少。

是否适用于内存有限的设备。我想在 android 应用程序中使用 node.js 作为嵌入式服务器。这是个好主意吗?

4

2 回答 2

9

V8 以称为pages的 1 MB 块为 JavaScript 堆请求内存。这些被分组在包含不同类型对象的空间中。有 7 个空格(从、到、指针、数据、代码、单元格、映射),如果计算大对象空间,则有 8 个。绝对最低限度,每个空间至少需要一页,所以那里有 7 MB。V8 本身大约 3 MB(至少在 ARM、YMMV 上)。另外,您还需要 2 MB 左右的暂存空间。所以至少总共有 12 MB。您可能希望总共有 20-30 MB 可用空间用于正常操作。

所有这些都应该可以轻松安装在任何 Android 设备上。我所知道的所有设备都至少有 256 MB 的 RAM,你可以期望操作系统和其他应用程序至少使用其中的一半。请注意,Android 网络浏览器已经嵌入了 V8 并且没有问题。浏览器的 V8 实例可能比 Node.js 服务器的 V8 部分占用更大的内存。

于 2012-07-11T18:40:44.357 回答
1

第一:我想知道你是如何将 node.js 嵌入到一个 android 应用程序中的。

对于你的问题:内存使用很大程度上取决于node.js/V8的各种编译标志,系统架构,所以你的问题不能100%回答。

调整垃圾收集器的行为也可能很有趣。(非常粗略:更多 cpu(更频繁地进行垃圾收集)<--> 更多内存(“浪费”更多内存并稍后清理)

于 2012-07-11T18:43:27.433 回答