【发布时间】:2014-07-17 14:34:44
【问题描述】:
这个问题与https://www.openshift.com/forums/openshift/nodejs-process-stopping-for-no-reason 上发布的问题几乎相同。不幸的是,它仍未得到答复。
今天我的 Node.js 应用程序停止了几次,日志文件中有 DEBUG: Sending SIGTERM to child...。不多也不少。我的应用程序是一个非常简单的单页应用程序,具有单个 AJAX 端点,每天提供 1k-2k 的页面浏览量。这几天一直运行良好,没有任何问题。
我使用这些模块:
- 快递
- 正文解析器
- 请求
- cheerio
-- 更新:
我正在使用一个小齿轮。 512MB 内存,1GB 存储空间
-
日志文件摘录 (
~/app-root/logs/nodejs.log)Thu Jul 17 2014 09:12:52 GMT-0400 (EDT) <redacted app log message> Thu Jul 17 2014 09:13:09 GMT-0400 (EDT) <redacted app log message> Thu Jul 17 2014 09:14:33 GMT-0400 (EDT) <redacted app log message> DEBUG: Sending SIGTERM to child... #### below are the log entries after issuing "ctl_app restart" DEBUG: Running node-supervisor with DEBUG: program 'server.js' DEBUG: --watch '/var/lib/openshift/redacted/app-root/data/.nodewatch' DEBUG: --ignore 'undefined' DEBUG: --extensions 'node|js|coffee' DEBUG: --exec 'node' DEBUG: Starting child process with 'node server.js' 来自
oo-cgroup-read的统计数据,由@niharvey 建议。有点太长了,所以我把它放在http://pastebin.com/c31gCHGZ上。显然我使用了太多内存:memory.failcnt 40583。我想 Node.js 会在内存过度使用事件时自动(?)重新启动,但在这种情况下它不是。我不得不手动重启。我忘记安装了一个空闲的 MySQL 磁带,现在已移除。
-- 更新#2
应用程序刚才又崩溃了。 memory.failcnt 的值保持不变(http://pastebin.com/LqbBVpV9 上的完整统计信息),所以这不是内存问题(?)。但是日志文件中存在差异。该应用程序似乎已重新启动,但失败了。在ctl_app restart 之后,它按预期工作。
Thu Jul 17 2014 22:14:46 GMT-0400 (EDT) <redacted app log message>
Thu Jul 17 2014 22:15:03 GMT-0400 (EDT) <redacted app log message>
DEBUG: Sending SIGTERM to child...
==> app-root/logs/nodejs.log-20140714113010 <==
at Function.Module.runMain (module.js:497:10)
DEBUG: Program node server.js exited with code 8
DEBUG: Starting child process with 'node server.js'
module.js:340
throw err;
^
Error: Cannot find module 'body-parser'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
【问题讨论】:
-
尝试 ssh'ing 到您的设备并运行
for i in $(oo-cgroup-read all);do echo "oo-cgroup-read $i" && oo-cgroup-read $i; done,为了清楚起见,您是否介意将日志发布到您的 ~/app-root/logs 中 -
@niharvey 刚刚在问题中添加了一些细节并运行了您的脚本。
-
大家都明白了吗?我遇到了类似的问题。
-
我也遇到了这个问题。
-
我也是,有人有消息吗? @sandinmyjoints