Sidekuq在heroku上 - 错误R14(超出内存配额) [英] Sidekiq on heroku - Error R14 (Memory quota exceeded)

查看:205
本文介绍了Sidekuq在heroku上 - 错误R14(超出内存配额)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有在Heroku,经过它炸毁运行已被用于与该错误消息的同时运行的sidekiq过程:




错误R14(超过内存配额)


任何人都可以给我任何关于如何开始诊断的信息吗? p>

有什么明显的是,可能会造成这个。


解决方案

我们是面临同样的问题,并决定让Newrelic做重大举措并帮助我们进行诊断。您可能会使用一些免费的Newrelic计划,但如果没有足够深入您的代码,您可能需要考虑为Pro版付费一个月,以帮助您分析应用程序。



由于我们即将切换至Pro(等待Newrelic接受此计划),因此我无法帮助您进一步了解此问题,因此无需再进行深入分析,但认为它可以帮助你看看它。



如果您不想使用Newrelic,Heroku还具有实验室功能,可以分析内存使用情况并向日志报告,并通过以下方式启用它:


$ b $

  heroku labs:启用log-runtime-metrics 

然后它会告诉你每个dynos使用多少内存。

您遇到的错误是Heroku上的内存超出内存配额。 Heroku上有这样一段话吧:




DYNOS其进程超出其内存配额通过在日志中的
R14的错误标识。这并没有终止这个过程,但是
会警告恶化的应用程序条件:超过配额
使用的内存将换出到磁盘,这大大降低了动态性能。


< /块引用>

此页面有更多信息。


I have a sidekiq process which runs on heroku that blows up after it has been running for a while with this error message:

Error R14 (Memory quota exceeded)

Can anyone give me any pointers about how to start the diagnosis as to what is happening?

There is nothing obvious that could be causing this.

解决方案

We are facing the same problem and have decided to let Newrelic do the heavy lifting and help us with the diagnostic. There are some free Newrelic plans you might be able to use for that, but if none of them go deep enough into your code, you might want to consider paying for the Pro version for one month to help you profile your app.

I can't help you any further with this because we are about to switch to Pro (waiting for Newrelic to accept the plan) so don't have any more insight, but thought it might help you to look at it.

If you don't want to use Newrelic, Heroku also has a lab feature that will profile memory usage and report to the logs, enable it with:

heroku labs:enable log-runtime-metrics

Then it will show you how much memory each of your dynos is using.

The error you're getting is when the memory on Heroku exceeds the memory quota. Heroku has this to say about it:

Dynos whose processes exceed their memory quota are identified by an R14 error in the logs. This doesn’t terminate the process, but it does warn of deteriorating application conditions: memory used above quota will swap out to disk, which substantially degrades dyno performance.

This page has more info.

这篇关于Sidekuq在heroku上 - 错误R14(超出内存配额)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆