升级到OSX Lion后,Ruby进程出现了内存泄漏问题。

7
我几周前升级到了 Lion,结果彻底搞糟了我的 Ruby on Rails 环境。我安装了 RVM,不同的 Ruby 版本,但似乎找不到解决方案……我认为这是我最糟糕的决定之一。它给我带来了很多问题。
无论如何,我已经意识到,我的应用程序渲染页面时(在部署服务器上和其他机器上的本地情况下都能正常工作),会使 ruby 进程内存增加 20-30mb,这有点太离谱了。所以您可以想象一下,在一段时间后,我的 Ruby 进程占用的内存达到了 2GB,我的电脑就无法使用了。
我看到很多人在 Lion 升级中遇到了问题,但我还没有找到解决我的情况的方法。
有人遇到过同样的问题吗?有什么想法可以尝试解决这个问题吗?
谢谢

有同样的问题。Pol,你找到解决方案了吗? - Nick Wientge
我有同样的问题,正在寻找解决方案。 - Steph Rose
你能否发布与引起问题的页面相关联的代码? - stef
2个回答

0

我不知道你如何修复内存泄漏问题,但可以提出一种方法来限制它并进一步进行故障排除。

如果你愿意学习Docker,你可以将开发环境包含在Docker容器中,同时访问本地机器上的代码,就像Vagrant中的共享文件夹一样。

当你运行Docker容器时,可以指定容器可以使用的内存量上限。你的rails server进程可能会崩溃并停止容器,但至少你不必重新启动机器。

也许这会给你更多的余地来深入研究问题。

Docker Run Reference,请参阅“CPU和内存的运行时约束”部分。


0
你可以使用memprof gem(不再维护,且不适用于1.8.7以上版本的Ruby),以及memprof.com(链接已损坏)来解决问题。
此外,你可以尝试使用Passenger、Unicorn或Thin代替默认的Webrick,看看是否会有不同的行为。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接