Jan Provaznik created DTACLOUD-290:
--------------------------------------
Summary: Memory leaking on Fedora 17
Key: DTACLOUD-290
URL: https://issues.apache.org/jira/browse/DTACLOUD-290
Project: DeltaCloud
Issue Type: Bug
Components: Server
Environment: deltacloud-core-1.0.0-4.fc17.noarch (though same issue
with dc-core from git)
sinatra (1.3.2)
sinatra-rabbit (1.0.6)
Fedora 17
Reporter: Jan Provaznik
Priority: Critical
Memory used by deltacloudd process increases with time. After 12 hours, it's
common it uses ~4G of virt memory and >1G of physical memory (only conductor's
dbomatic script which periodically checks running instances every minute was
running).
You can reproduce the memory leak by this simple script:
#!/usr/bin/ruby
require 'rubygems'
require 'deltacloud'
1000.times do |i| { DeltaCloud.new('mockuser', 'mockpassword',
'http://localhost:3002/api') }
Used memory will increase by >10M (both virt and physical). The problem is
probably with lambda in check_capability usage in lib/deltacloud/collections/*
files:
check_capability :for => lambda { |m| driver.respond_to? m }
if the lambda is replaced by true or other static value, the memory usage
remains constant.
I see that in git the 'check_capability' call was replaced by 'set' call, this
change has no influence on this problem.
Also it's weird that after starting deltacloudd, used memory is 233m/33m
(virt/res), but after first request, used memory jumps to 776m/90m (virt/res) -
this is far more than on Fedora 16, where used memory remains around 160m/50m.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira