出现错误 R14(超出内存配额)错误时自动重启 Heroku dynos

Posted

技术标签:

【中文标题】出现错误 R14(超出内存配额)错误时自动重启 Heroku dynos【英文标题】:Automatically restart Heroku dynos on Error R14 (Memory quota exceeded) errors 【发布时间】:2016-12-10 16:37:13 【问题描述】:

我正在运行一个需要泄漏内存的库的应用程序。 (不幸的是,这个专有软件别无选择)。 结果,测功机超出了它们的内存限制并发出 Error R14 (Memory quota exceeded) 错误。

有没有办法自动重启发出错误 R14 的测功机?

或者 Heroku 会真正为我重新启动测功机吗?如果是的话,大概是什么时候? (在文档中找不到任何关于此的内容,我从未注意到 heroku 关闭了我的测功机)

非常感谢您!

艾迪

【问题讨论】:

【参考方案1】:

一旦超过 dyno 内存限制和 dyno SWAP MEMORY 限制,Heroku 将自动重新启动您的 dyno。有 2 个单独的限制。

当您看到错误 R14 消息时,这意味着您已经超出了内存限制——但是 Heroku 将让您的 dyno 继续运行,直到您也用完交换内存(这有点像假内存,被持久化到磁盘)。

这样做的缺点是您的应用程序在使用交换内存时会慢很多。

好消息是,如果您的应用程序泄漏内存的速度足够快,Heroku 无论如何都会快速重启它 =)

【讨论】:

我向你保证这些信息是正确的 =)

以上是关于出现错误 R14(超出内存配额)错误时自动重启 Heroku dynos的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 上的 Rails 4 错误 R14(超出内存配额)

芹菜节拍进程在启动时分配大量内存

SQL Server - 迁移到内存表期间出现内存配额错误

Firebase Cloud Functions 部署错误 - 超出配额

将视频上传到 YouTube - 超出配额错误

Cupy 错误 - 超出磁盘配额 [包括最小示例]