首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ulimit增加Node堆栈大小的问题

使用ulimit增加Node堆栈大小的问题
EN

Stack Overflow用户
提问于 2020-08-25 06:00:15
回答 1查看 97关注 0票数 0

我想增加我的节点进程的调用堆栈限制,这样我就可以创建、解析和序列化100,000层深的递归对象。如果我有更多的时间,我应该用更好的格式来表示它。

但是为了快速解决问题,有一个suggested solution可以做类似这样的事情:

代码语言:javascript
复制
/bin/bash -c "ulimit -s $n; exec /usr/local/bin/node --stack-size=$n app.js"

有什么我需要担心的后果吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-25 08:48:01

只需使用node --stack-size=2048 app.js或以千字节为单位的任何其他数量。但请记住,这不是一种生产方式。更高的价值你会放-更不稳定的应用程序可能会成为。

正如其他人所指出的,请注意,增加此值可能会导致分段错误。从更大的角度来看,增加堆栈大小可能并不能解决所有问题。在node中编写递归函数时,您最好的策略是以尾递归方式编写它们,因为node支持正确的尾部调用。这将消除堆栈大小溢出。

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

https://stackoverflow.com/questions/63569259

复制
相关文章

相似问题

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