2015-12-05 28 views
0

我在Heroku上运行基于NodeJS的应用程序服务器,今天早上它开始重复崩溃。它运行一个传统的1x dyno(即免费层)。 Heroku由于闲置而关闭,这很好,但它随后进入一种状态,我无限期地每隔几秒从Logentries收到崩溃通知。Heroku上的周期性Logentries崩溃通知(NodeJS服务器)

我可以通过采取人工取服务器降到0 DYNOS停止它,然后回升到1

请注意,服务器做的第一件事是打印调试消息CONSOLE.LOG,所以我没有看到所有这些崩溃消息中的事实表明我的应用程序甚至没有运行。

任何想法可能会造成这种情况?

02 <45>1 2015-12-05T21:03:30.039646+00:00 heroku web.1 - - Idling 
125 <45>1 2015-12-05T21:03:30.040156+00:00 heroku web.1 - - State changed from up to down 
131 <45>1 2015-12-05T21:03:34.298780+00:00 heroku web.1 - - Stopping all processes with SIGTERM 
301 <158>1 2015-12-05T21:03:35.730386+00:00 heroku router - - at=info method=GET path="/" host=<server name redacted>.herokuapp.com request_id=e3c6cdbf-3012-4e5e-ab89-24e8c2eb0e03 fwd="50.0.151.247" dyno=web.1 connect=0ms service=2085875ms status=101 bytes=189 
310 <158>1 2015-12-05T21:03:36.299732+00:00 heroku router - - at=error code=H10 desc="App crashed" method=GET path="/" host=<server name redacted>.herokuapp.com request_id=35c719d9-5153-49e8-a640-91f848f853b9 fwd="50.0.151.247" dyno= connect= service= status=503 bytes= 
310 <158>1 2015-12-05T21:03:36.730513+00:00 heroku router - - at=error code=H10 desc="App crashed" method=GET path="/" host=<server name redacted>.herokuapp.com request_id=138f048e-4229-4e9f-9e56-8d0d9e691734 fwd="50.0.151.247" dyno= connect= service= status=503 bytes= 
126 <45>1 2015-12-05T21:03:36.690366+00:00 heroku web.1 - - Process exited with status 143 
310 <158>1 2015-12-05T21:03:40.160167+00:00 heroku router - - at=error code=H10 desc="App crashed" method=GET path="/" host=<server name redacted>.herokuapp.com request_id=0a451a1b-04f2-4f59-bc1e-abc1f2599607 fwd="50.0.151.247" dyno= connect= service= status=503 bytes= 
310 <158>1 2015-12-05T21:03:40.586679+00:00 heroku router - - at=error code=H10 desc="App crashed" method=GET path="/" host=<server name redacted>.herokuapp.com request_id=c7681cce-f486-447b-9f76-b36a8db3570b fwd="50.0.151.247" dyno= connect= service= status=503 bytes= 
310 <158>1 2015-12-05T21:03:44.024709+00:00 heroku router - - at=error code=H10 desc="App crashed" method=GET path="/" host=<server name redacted>.herokuapp.com request_id=ddd8187f-c8c7-45aa-8add-863b17bdfc5f fwd="50.0.151.247" dyno= connect= service= status=503 bytes= 

回答

0

原来我用的是节点的版本(4.2.1)尝试使用更多内存大于512MB的可用在传统1X DYNO(这就是为什么节点保持之前就执行崩溃我的服务器代码的第一行)。解决方案是修改Procfile以限制节点的内存使用量以适应可用内存。该Procfile现在看起来像这样:

web: node --optimize_for_size --max_old_space_size=500 --gc_interval=100 server.js 

(注意,这是500而不是512了我习惯性的欲望是一丁点儿的保守)。