在内存不足时,在Docker容器中运行的Node.js进程挂起而不退出或抛出

时间:2017-07-05 14:29:07

标签: node.js amazon-web-services docker amazon-ecs

我最近偶然发现了一个有趣的问题:我有一个Express Node.js应用程序,我正在使用Docker镜像将其部署到AWS ECS。但是,它正确部署,运行状况检查失败,在检查日志后,我发现进程在Express初始化期间无限期挂起而没有出现任何错误。

起初我以为它是由一些网络未命中配置引起的,这阻止了进程在HTTP端口上启动监听器,但经过非常繁琐的检查后,我注意到,默认的内存限制到位了,当进程实际需要更多时,它只有50 MB的RAM。增加内存限制后,它开始正常工作。

  • 为什么它在没有任何错误的情况下悬挂。发生这种情况时,Node进程是否应该以错误退出?

  • 以后如何预防此类问题?即当发生这种情况时,我希望我的流程以有意义的错误终止。

谢谢!

0 个答案:

没有答案