首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails应用程序中内存的使用情况,如何监视和排除故障?

Rails应用程序中内存的使用情况,如何监视和排除故障?
EN

Stack Overflow用户
提问于 2013-12-13 01:38:45
回答 1查看 1.6K关注 0票数 3

我有一个Rails应用程序,其中包括几个计算昂贵的后台作业(图像处理:O)。

我用Sidekiq来管理这些工作。目前,我已经为每个Sidekiq进程设置了5个线程的并发性,下面是我为查看内存使用情况所做的工作:

代码语言:javascript
复制
ps faux | grep sidekiq

结果如下:

代码语言:javascript
复制
hommerzi    3874  3.5  5.7 287484 231756 pts/5   Sl+  17:17   0:10  |   \_ sidekiq 2.17.0 imageparzer [3 of 3 busy]

然而,我有一种感觉,那就是一定有办法从Rails应用程序中正确地监控这一点,还是我错了?

我的问题是:在这种情况下,我如何监控我的内存使用情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-13 03:30:24

我的建议是使用Monit (或上帝)来管理您的过程。这适用于数据库、服务器、应用程序,而不仅仅是后台作业。

下面是一个例子:Monit Ruby on Rails Sidekiq

监视应用程序一段时间,并设置实际的内存限制。然后,如果在给定的周期(通常是2分钟的检查)中,某个流程死亡或超过该限制,它将(重新)启动该流程。

您还可以设置一个警报电子邮件地址和一个web前端(使用基本的HTTP auth)。这对于在生产中运行稳定的应用程序是必不可少的。例如,最近我有一个侧翼进程被自己控制住了,并且啃掉了250 up的内存。Monit然后重新启动进程(该进程现在徘徊在150 me左右),并向我发送了一个警报。现在,我可以检查日志/系统,看看为什么会发生这种情况。这一切都发生在我睡着的时候。要比其他方法要好得多:醒来后发现你的服务器正处于失控的进程或服务崩溃的状态。

https://www.digitalocean.com/community/articles/how-to-install-and-configure-monit

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20557647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档