【发布时间】:2014-12-29 23:47:17
【问题描述】:
我有以下测试代码:
def loop_bucket_gets
bucket = Couchbase::Bucket.new({:node_list => ['xxx.xxx.xxx.xxx:8091', 'yyy.yyy.yyy.yyy:8091'],
:bucket => 'Foo',
:pool => 'default',
:expires_in => 1.day,
:default_format => :marshal,
:key_prefix => '_foo'
})
i = 0
loop do
begin
i += 1
bucket.get "ABC#{i}"
rescue ::Couchbase::Error::Base => e
nil
end
end
end
当我在 Rails 控制台中执行此操作时,内存泄漏。
我正在使用:
- couchbase 1.3.10 gem
- libcouchbase 2.4.3
【问题讨论】:
-
我认为你需要一个循环的结束条件。
-
@AlejandroBabio 这是测试代码,我用它来确认内存不断增长,因此我不能停止循环。
-
简单,无需任何调试器或 IDE:github.com/couchbase/couchbase-ruby-client/blob/… ctx 已初始化,已使用,但毕竟没有清除。
标签: ruby-on-rails ruby caching couchbase