• Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Component/s: Server
    • Labels:
    • 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


      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:
      require 'rubygems'
      require 'deltacloud'
      1000.times do |i|

      {'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.


        Jan Provaznik created issue -
        Michal Fojtik made changes -
        Field Original Value New Value
        Assignee Michal Fojtik [ mfojtik ]
        Ronelle Landy made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]


          • Assignee:
            Michal Fojtik
            Jan Provaznik
          • Votes:
            0 Vote for this issue
            3 Start watching this issue


            • Created: