2013-03-25 159 views
8

我在Heroku上部署了一个应用程序。我正在使用免费服务。PG ::错误:错误:Heroku内存不足

很频繁,我得到以下错误。

PG::Error: ERROR: out of memory 

如果我刷新浏览器,没关系。但是,它随机发生。

为什么会发生这种情况?

谢谢。

山姆香港

回答

9

如果您运行的查询时遇到这些,你的查询都是复杂或低效。免费层没有缓存,所以你已经在那里了。

如果你以其他方式得到这些错误,打开一个支持票在https://help.heroku.com

+0

该错误持续约2小时,现在它的工作。 – 2013-03-25 20:07:59

2

heroku restart只是帮我虽然

+0

如果你的连接数很高,并且消耗太多内存,'restart'只会在这里产生影响,在这种情况下,重新启动应该会清除所有这些连接。 Heroku Postgres数据库不在dynos上运行。 'restart'不会重新启动您的数据库实例。 – catsby 2013-10-15 21:50:06

+0

是@catsby,在我的情况下,我必须运行heroku pg:killall,它会恢复正常。它现在经常发生。任何想法如何避免它? – Emmanuel 2014-02-14 20:49:42

+0

@Emmanuel如果你有定期重新启动,或PG之:killall,那么你可能有一个连接泄漏,这意味着你的应用程序越来越红/死连接,只需打开新的。每个连接都需要内存来维护,并且用完了。 – catsby 2014-02-18 03:13:11

0

如果你不是在一个自由层,它也许是因为你使用了太多的内存连接到PG。

考虑一个运行在几个dynos上的应用程序,其中有几个进程,每个进程都有很多线程,也许你正在填充池。

此外,因为它出现在Heroku's Help Center也许你正在缓存太多不会被使用的语句。