升级到OSX Lion后,ruby进程内存泄漏

时间:2011-09-07 19:54:59

标签: ruby-on-rails ruby macos osx-lion

几周前我升级到了Lion,它完全被Ruby on Rails环境搞砸了。我已经安装了RVM,不同的ruby版本,似乎无法找到它的解决方案......我认为这是我可以升级到Lion的最糟糕的决定之一。它只会给我带来麻烦。

无论如何,我已经意识到渲染我的应用程序页面(在部署的服务器上运行得非常好,在其他机器上也可以在本地运行)会增加20-30mb的ruby进程内存,这有点疯狂。所以你可以想象,经过一段时间,我的ruby进程在使用中达到了2GB的内存,我的计算机不再可用了。

我见过许多人在升级到Lion时遇到问题,但我无法为我的案例找到解决方案。

有没有同样的问题?我有什么想法可以尝试解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用memprof gem(不再维护,但不适用于版本高于1.8.7的Ruby)和 memprof.com (Broken Link)来解决问题的根源。

此外,您可以尝试使用Passenger,Unicorn或Thin而不是默认的Webrick来查看是​​否会给您带来不同的行为。

答案 1 :(得分:0)

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

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

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

也许这会让你有更多的余地来更深入地解决问题。

Docker Run Reference,请参阅" CPU和内存的运行时限制"。