Rails 内存不足问题 (heroku R14)

问题描述 投票:0回答:2

我正在运行一个 RoR 应用程序 no heroku,它会快速占用可用的 512 Mb。我正在使用 puma (4.3.5) .

我已遵循教程此处本地计算机上的脱轨基准测试perf:mem_over_time 和本地基准从未引发任何问题。令人震惊的是,无论如何,本地机器上的内存都不会增加,而当应用程序部署在heroku上时,它会稳步增加。

关于如何在heroku上调试问题有什么想法吗?在 Heroky 上运行脱轨基准是不可能的,因为它抱怨无法连接到 postgres 服务器(用户没有 CONNECT 权限。

ruby heroku memory-leaks ruby-on-rails-5
2个回答
0
投票

好吧,问题似乎很明显:产品上的工作人员数量设置为 5。一开始,每个工作人员平均占用 80Mb,因此只需稍微增加内存,就会触发 R14 内存不足。我已经将其减少到 2 名工人,现在就可以了。


0
投票

切换到jemalloc进行内存分配可能会有用。 https://prathamesh.tech/2021/05/23/adding-jemalloc-to-rails-apps-on-heroku/ 也可能有用。

它允许您的 RAM 使用量随着时间的推移在一定程度上回落(通过释放内存)(与默认值不同,默认值只会随着时间的推移而上升)。从而减少 RAM 使用。

© www.soinside.com 2019 - 2024. All rights reserved.