Ruby on Rails应用程序中的内存泄漏

ama*_*air 3 ruby memory-leaks ruby-on-rails ruby-on-rails-3.2

我的应用程序调用一堆API,它返回大量数据,这些数据在我的控制器中被操作以提供各种见解(传递到我的视图中).

问题是我的应用程序中存在内存泄漏,我目前需要在几次请求后重新启动应用程序.

此外,我一直在缓存我的所有api调用,以提高我的应用程序的性能.当api返回时,我的大部分数据都以哈希的形式存储,并且这些数据被操纵(使用groupby重复排序).

我正在使用Ruby 1.9和Rails 3.2.我需要知道如何从我的应用程序中删除此内存泄漏.

Mag*_*uss 9

你应该确认,你确实有内存泄漏而不是内存膨胀.你可以在这里阅读ruby GC

GC.stat[:heap_live_slot] - 这个表示在上一次GC之后未清除的对象.如果此数字按请求稳定增加请求,那么您可以确定您有内存泄漏.


小智 7

首先,您可以先检查有内存泄漏的 Ruby gem 列表。

参考(https://github.com/ASoftCo/leaky-gems

  • 不......我不使用任何这些宝石,但确实是一个有用的列表。 (2认同)