【发布时间】:2018-08-26 04:54:41
【问题描述】:
我使用 Node 8.9.4 编写了一个嵌套循环模拟/算法。它使用 Promises 和 promise-do-whilst 库来实现循环。在具有大量 RAM (32GB) 的计算机上,它可以毫无问题地运行完成。同样,在具有 1GB RAM 的 Raspberry Pi 3B 上,执行所需的时间要长得多,但根据top,在大约 25-30% 的 RAM 利用率下运行到完成输入。
但是,在具有 1GB RAM 的 Digital Ocean 液滴上运行时,RAM 利用率迅速增长,最终(很快)节点因分配错误而崩溃并转储核心。
然后,我的结论是,当在更快但 RAM 受限的计算环境中运行时,NodeJS 运行时垃圾收集器无法跟上算法的临时变量分配。问题是,如果有的话,我可以做些什么来帮助垃圾收集器在我的算法方面做得更好?
【问题讨论】:
-
您可能不得不提炼一些简单的代码来重现问题。
标签: node.js memory garbage-collection