什么会导致node.js打印Killed并退出?

llew8vvj  于 2023-10-17  发布在  Node.js
关注(0)|答案(3)|浏览(200)

我有一个Node.js应用程序,当应用程序启动时,它会将一些数据从Mysql加载到Redis中。在我们修改Mysql中的数据之前,它一直工作得很好。
现在它只是退出一个Killed消息。
我试图找出问题,但很难调试使用节点检查器,因为问题不会出现时,运行在--debug。
我不认为我的问题在于数据本身,因为它在我的本地机器上工作,但在我的生产机器上不工作。
我的问题是,是什么导致了Killed消息?它是Node.js还是Mysql驱动程序或其他地方?

ut6juiuv

ut6juiuv1#

检查您的系统日志,查看有关Node被杀死的消息。您的Node应用程序可能会使用过多的内存,并被Out-Of-Memory killer杀死。

r55awzrz

r55awzrz2#

不确定Redis是否是导致Killed消息的原因,但这是我的问题的原因。
我发送了很多数据到multi,因为我最初认为这是使用流水线的方式(这是自动的)。

rekjcdws

rekjcdws3#

我使用Docker、Node、Express和Prisma。这是在笑话测试中发生的。通常情况下,使用node --max-old-space-size=4096 jest --runInBand时,增加内存是有帮助的。然而,我已经将.wslconfig中的内存设置为4GB(试图修复一个不同的问题),所以它无法使用max-old-space-size中提到的额外内存。我将它设置回6GB并重新启动Docker。这解决了Killed问题。

相关问题