You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未启用集群/子进程时Node.js为何占用多CPU?

Node.js未启用集群却占用多CPU的排查与解决

看你贴的进程列表,能清楚看到多个node进程在运行(PID 129953、129963、134452)——这就是双CPU交替高负载的核心原因,你的环境里实际跑了不止一个Node.js进程,并非单个进程占用多核心。

常见触发原因:

  • npm脚本隐式启动子进程:npm run dev会先启动sh进程(比如PID 129952、134451),如果你的package.json里的dev脚本包含多任务逻辑(比如同时启动后端服务和前端构建,或者用了concurrently这类并行工具),就会生成多个Node实例。
  • 依赖库后台开子进程:部分第三方依赖(比如文件监听工具、日志收集插件、某些构建工具)会自动启动子进程,你没手动创建,但依赖本身会触发。
  • 进程残留:之前的Node进程没完全退出,残留进程和新启动的进程交替占用CPU资源。

排查步骤:

  1. 打开package.json查看scripts里的dev命令具体内容,确认是否同时执行了多个Node相关任务。
  2. 执行pstree -p 129938查看npm run dev的进程树,明确所有子进程的关联关系,找到额外Node进程的来源。
  3. 先执行killall node终止所有Node进程,再单独运行node index.js,用ps -a确认是否只有一个Node进程,同时观察CPU负载变化。
  4. 逐步移除项目依赖,排查是否是某个第三方包导致的子进程启动。

内容的提问来源于stack exchange,提问作者Mike K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 00:07:38