在支持StrongLoop的Node.js应用程序中公开垃圾收集器
我们正在尝试将垃圾收集器调用到Node.js应用程序中 在常规Node.js应用程序中,这非常简单,您只需使用以下参数运行服务:在支持StrongLoop的Node.js应用程序中公开垃圾收集器,node.js,strongloop,Node.js,Strongloop,我们正在尝试将垃圾收集器调用到Node.js应用程序中 在常规Node.js应用程序中,这非常简单,您只需使用以下参数运行服务: node -expose-gc script.js 当您想调用垃圾收集器时,只需在代码中调用gc即可: Global.gc(); 但由于我们正在转向StrongLoop,我们使用slc工具运行应用程序 问题是:在使用slc运行应用程序时,如何指定-expose gc参数?使用下一个命令,gc()调用失败: slc -expose-gc run script.js
node -expose-gc script.js
当您想调用垃圾收集器时,只需在代码中调用gc即可:
Global.gc();
但由于我们正在转向StrongLoop,我们使用slc工具运行应用程序
问题是:在使用slc运行应用程序时,如何指定-expose gc参数?使用下一个命令,gc()调用失败:
slc -expose-gc run script.js
(and when you exect Global.gc() you get...)
TypeError: Object #<Object> has no method 'gc'
slc-公开gc运行script.js
(当您执行Global.gc()时,您会得到…)
TypeError:对象#没有方法“gc”
似乎run标志被忽略了
slc run
没有将其参数传递给node,所以不要使用它,只使用node
。您不会丢失任何东西,slc run没有任何特殊功能
slc run
被认为是通用Node.js工具(Node、npm、Node inspector等)的包装器,以简化人们的交互,因此他们不必了解多个工具。事实证明,人们习惯于使用多种工具,有时这只会让事情变得更困难
(顺便说一句,我是slc/strong cli的维护者)slc只是一个脚本吗?它可能没有传递命令行参数。AFAIK这是一个二进制文件,如果您确认它是(
其中slc
)。。。您可能需要联系StrongLoop。请允许我问一下,为什么您要尝试手动调用垃圾收集器?我们在生产场景中遇到内存泄漏问题,我们正在尝试快速修复该问题。谢谢你的关注!谢谢Sam,我认为运行我的应用程序至关重要:)