所以我有一个可怕的内存泄漏问题的rails应用程序。我在 Heroku 上运行它,在过去的几天里,我一直在试图弄清楚到底是什么原因造成的,我不得不每 5 小时左右不断重启应用程序,否则内存超过 512 和我的应用程序崩溃。
我正在使用 Oink,我的实例化类没有任何可疑之处。唯一的问题是,每次加载页面时,使用的内存都会增加。我加载哪个页面都没有关系,它似乎是随机的。
New Relic 也没有太大帮助,因为它与任何一个特定的控制器动作无关。
我唯一能找到的是使用 ObjectSpace,它显示了内存中大量的字符串对象,而且这个数字还在不断增长。我使用了一个小工具来记录字符串的值,它们都是空白的。不是零……而是空格。我的生产应用程序经常使用超过 200,000 个字符串对象。
有谁知道这些可能来自什么?这真的让我不得不每五个小时在我的电脑前才能让我的网站保持活力。
谢谢!