因此,我在Ubuntu上运行了该节点应用程序。而且我注意到pstree -a
└─node /bin/node --expose-gc -max-old-space-size=256 main.js
└─process.title
├─sh ...
├─sudo ...
│... bunch of scripts i'm doing
├─66*[{process.title}]
└─5*[{node}]
有时会有数十个,但可能会增加到数百个。而且我不知道他们是如何创建的,他们在做什么。但是可以肯定的是,他们正在消耗系统资源。
此项目具有复杂的程序包依赖关系,因此对我来说很难找到此问题的根本原因。如果有人能为我介绍这种情况,将不胜感激。
答案 0 :(得分:0)
感谢@ jfriend00的评论,它确实帮助我缩小了范围。
因此,在我看来,asyncawait及其底层node-fibers是根本原因。
尽管我仍然不太清楚这是怎么发生的(因为这是一个广泛使用的模块,而且似乎没有人在谈论这个)。但是花一些时间用节点本机异步替换所有asyncawait会使线程数回到4。