pm2如何指定CPU核心运行?
发布于 8 年前 作者 klausgao 6451 次浏览 来自 问答

我有2个项目要运行,想用PM2分别把2个项目分配到2个CPU核心,不是集群模式,是fork模式

或者自己实现?

12 回复

不用指定CPU,默认情况下如果是4核,你起4个进程,每个进程分一核。只有进程数大于核数才会出现竞争资源;

@haozxuan 就直接 pm2 start 1.js pm2 start 2.js 就行? 那么简单??求确定的回答哦大神!

@klausgao 对的。其实就算是单核,你也可以启动多个进程,但是运行效果怎么样就不知道了,因为我现在的测试服务器,就2核,但是我运行了4个项目。

-i --instances <number>              launch [number] instances (for networked app)(load balanced)

@i5ting 老大这个是集群模式了,不是我要的fork模式,-i 直接集群。

不是很明白你的描述,你是想达到什么效果

最后,指教一下, 你说的Fork模式是什么东西?

直接 pm2 启动起来就好了,没有选项可以绑定 cpu 吧

没有必要绑定CPU, 这是操作系统为你做的

为什么要使用fork模式呢?集群不是更好?

@klausgao 其实就这么简单,由于不确定你指定核的用意,所以不太明白为什么要手动指定,担心抢占资源吗?由于官方文档并没有给出明确的描述,所以我的回复内容也是自己测试的结果。

遇到过需要解决类似问题的时候,并没有找到很好的解决方案,最好能规避这种需求。如果一定要绑定,用taskset是可以达到目的的,不过这个并不实用。

pm2 不能绑定,绑定 CPU 可以通过写 shell 脚本 taskset 绑定 CPU 和进程。 一般来说用户应用程序不用绑定,一般绑定网络中断比较有用。

回到顶部