【问题标题】:Does multiple apps work on multiple cores if launched in fork_mode with pm2?如果使用 pm2 在 fork_mode 中启动多个应用程序是否可以在多个内核上运行?
【发布时间】:2017-05-22 11:02:22
【问题描述】:

我创建了一个用于 3 个 Steam 帐户的 Steam 机器人脚本。为了运行它们,我在 fork 模式下使用 pm2 启动相同的脚本,并传递一个参数,该参数是 bot id。所有 3 个进程是否都在同一个核心上运行,或者它们也可以使用第二个核心,因为它们是独立的进程?如果它们在单核上运行,启动诸如“pm2 start script.js -i number of bots”之类的脚本并使用 worker id 作为 bot id 可以使它们运行所有内核吗?我不确定这是否可行,但我仍在学习 node js 集群。

【问题讨论】:

    标签: node.js cpu pm2 cpu-cores


    【解决方案1】:

    pm2 start script.js -i N 将在 N 个不同的核心上运行 N 个节点进程。 它被称为cluster mode,并在 pm2 文档中进行了解释。 更多详情可以搜索文档:http://pm2.keymetrics.io/docs/usage/cluster-mode/

    【讨论】:

    • 那么,如果我在 fork 模式下使用不同的参数启动多个进程,那么所有 3 个进程都将在机器的第一个核心上运行?
    • 不,pm2 会将它们分布在您的所有内核上。但我建议创建生态系统文件并使用一个命令运行它们:pm2.keymetrics.io/docs/usage/application-declaration
    猜你喜欢
    • 2011-05-19
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2017-10-07
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多