是否有可能减lessNodeJS内存使用量(例如,Ghost博客平台)

CPU [ 0.0%] Tasks: 15, 2 thr; 1 running Mem [|||| 14/256MB] Load average: 0.00 0.00 0.00 Swp [| 1/256MB] Uptime: 15 days, 06:02:31 

以上是我的服务器上的内存使用情况(Ramnode,具有256MB Swap的256MB RAM),当没有Ghost实例时。 在我的VPS上,我正在运行4个Ghost实例。

所以当我在这里用命令node index.js运行一个Ghost实例时,它产生了5个工作者。

 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 10380 user 20 0 975M 80328 7712 S 0.0 30.6 0:00.00 node index.js 10381 user 20 0 975M 80328 7712 S 0.0 30.6 0:00.00 node index.js 10382 user 20 0 975M 80328 7712 S 0.0 30.6 0:00.00 node index.js 10383 user 20 0 975M 80328 7712 S 0.0 30.6 0:00.00 node index.js 10384 user 20 0 975M 80328 7712 S 0.0 30.6 0:00.00 node index.js 

5名工人其实相当多。 而且30%也很多。

而现在, htop阅读

 CPU[ 0.0%] Tasks: 18, 7 thr; 1 running Mem[||||||||||||||||||| 82/256MB] Load average: 0.00 0.00 0.00 Swp[|| 8/256MB] Uptime: 15 days, 06:22:29 

如何减less内存使用量? 如果我可以调整工人数量,我应该编辑哪个文件? 如果我们在这里有Ghost开发团队,你有什么计划吗?

Ghost每个实例运行单个节点进程。 我相信你看到的是htop显示了进程的底层线程,所以看起来你有一个Ghost实例正在运行,但是node / v8有五个活动线程。 尽pipeJavaScript是单线程的,但是engine / vm本身可以是multithreading的。

我们(Ghost项目)确实关注内存占用情况,以便尽可能保持尽可能小的内容。 我个人认为80MB是相当不错的,但显然不同的人和情况对于“相当不错”有不同的标准。