我有使用 pm2 运行的节点应用程序。它会产生多个 pm2 守护进程,而不是一个占用所有内存的守护进程。
当我运行 ps aux | grep pm2 命令时,我看到 pm2 进程有多个 God 守护进程,而不是一个。我总共有 10 个 pm2 进程,但应该只有一个 God 守护进程。我已经全局安装了 pm2,它由用户 appuser 运行。有人能告诉我如何解决这个问题吗?
appuser 930 0.0 0.2 573196 10532 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/dj.json
appuser 931 0.0 0.2 572900 9688 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/dj-ui.json
appuser 938 0.0 0.2 572648 9640 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/custom-dj-ui.json
appuser 939 0.0 0.2 573084 9672 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/qa-custom-dj.json
appuser 947 0.0 0.2 572692 10436 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/preview-custom-dj.json
appuser 960 0.0 0.2 573100 10564 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/dev-custom-api.json
appuser 963 0.0 0.2 573408 10100 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/qa-custom-api.json
appuser 967 0.0 0.2 572824 9848 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/preview-custom-dj.json
appuser 968 0.0 0.2 573352 10212 ? Sl Aug17 0:00 node /opt/node/bin/pm2 start /opt/pm2-config/preview-custom-api.json
appuser 1890 0.0 0.4 682036 19636 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1893 0.0 0.4 681716 18728 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1907 0.0 0.5 682092 20104 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1916 0.0 0.5 681808 21412 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1917 0.0 0.5 682064 19856 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1918 0.0 0.4 681800 19200 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1923 0.0 0.4 682088 19288 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1931 0.0 0.4 682308 19404 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)
appuser 1941 0.0 0.4 681712 19196 ? Ssl Aug17 0:01 PM2 v4.4.0: God Daemon (/naught-home/.pm2)```
答案1
我们通过删除导致额外节点和 pm2 进程启动的 pm2 服务的 update-rc.d 条目解决了上述问题。此外,为了在重启时启动服务,我们在 cronjob 中添加了启动脚本。