在支持StrongLoop的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.js应用程序中

在常规Node.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,我认为运行我的应用程序至关重要:)