Mongrel 集群在运行 Debian 5.0.1 的 EC2 实例上静默停止

Mongrel 集群在运行 Debian 5.0.1 的 EC2 实例上静默停止

这个问题并不经常发生,但它肯定存在,我不确定从哪里开始。我在 /var/log/ 中搜索了 mongrel PID,包含它们的唯一消息是这些:

Jun  7 07:46:24 staging kernel: 4gb seg fixup, process mongrel_rails (pid 29498), cs:ip 73:00937a5c

这与 Xen 的特定版本有关libc,但并不严重,并且进程仍在运行,并且这些消息会累积在kern.log

我实际上不仅在寻找具体的解决方案(可能无法从上述描述中提供),而且还在寻找有关如何设置监控或调查此类情况的任何建议。

答案1

这不是确切的答案,但你必须使用 mongrel 吗?我改用 apache + Passenger,从此再也没有回头。

答案2

我们用纳吉奥斯监控我们的杂种(以及数百种其他服务)。

它只是检查以确保每个所需端口上都有 mongrel 进程在运行。如果没有,它会重新启动它们。

答案3

当 xen domU 中未安装 libc6-xen 时,我收到这些消息。因此请验证您是否已安装该软件包...

apt-get install libc6-xen

当使用 libc 的另一个变体时,它仍能工作,但速度会变慢,因为内核必须捕获错误的操作并执行正确的操作。引用的消息正是在这种情况下由内核生成的。

所以你猜对了,这并不能解释为什么 mongrel 会停止。检查 mongrel 的文档以启用调试日志(如果有)。否则,你可以一直尝试跟踪该过程,直到它失败...日志的末尾会提示你失败的原因,也许你会找到原因。

答案4

你可能会看看上帝用于监控和管理您的 mongrel。它非常灵活,您可以使用它根据某些阈值(如内存量、CPU 使用率、抖动等)重新启动。您也可以考虑监控,我知道有人用它来代替上帝。

相关内容