几周前我升级到了Lion,它完全被Ruby on Rails环境搞砸了。我已经安装了RVM,不同的ruby版本,似乎无法找到它的解决方案......我认为这是我可以升级到Lion的最糟糕的决定之一。它只会给我带来麻烦。
无论如何,我已经意识到渲染我的应用程序页面(在部署的服务器上运行得非常好,在其他机器上也可以在本地运行)会增加20-30mb的ruby进程内存,这有点疯狂。所以你可以想象,经过一段时间,我的ruby进程在使用中达到了2GB的内存,我的计算机不再可用了。
我见过许多人在升级到Lion时遇到问题,但我无法为我的案例找到解决方案。
有没有同样的问题?我有什么想法可以尝试解决这个问题吗?
由于
答案 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和内存的运行时限制"。