我已经在Heroku上托管了一个Rails应用程序,几乎没有任何用户,但是当内存慢慢向上时,我一直在痛苦地看着。现在,在一个dyno上,我是150%,另一个是130%。
这似乎表明内存泄漏给我。
但我不知道如何开始调试。我已经开启了Heroku实验室的记忆记录功能,但由于上升速度很慢,所以它并没有指向任何明显的记录。
我应该从哪里开始?
修改
我按照答案Raajarshi将我链接到并映射ObjectSpace
。这些是最严重的罪犯:
String=>135325, RubyVM::InstructionSequence=>35684, Array=>30744, ActiveSupport::Multibyte::Unicode::Codepoint=>24430, Hash=>5341, Proc=>4609, RubyVM::Env=>4458, Class=>4315, Regexp=>2620, Module=>1803, MIME::Type=>1643, Gem::Requirement=>1282, Range=>938, Gem::Dependency=>906, ActionDispatch::Journey::Nodes::Cat=>577, Pathname=>446, Rails::Paths::Path=>339, Rails::Initializable::Initializer=>282, Gem::Version=>270