Project

General

Profile

Bug #11175

possible fibers memory leak or risky GC behavior

Added by cvss (Kirill Vechera) almost 5 years ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:69342]

Description

There's strong memory growth on mass Fiber creation/deletion.

Script to demonstrate the problem (on x86_64-linux):

loop {
    10000.times.map { Fiber.new { } } 
    GC.start # not necessary, just to be sure
    puts File.open('/proc/self/status').grep(/VmRSS:/).first
}

Running this script shows RSS growing from 57 Mb to 1Gb within one minute. Than RSS remains in range from 850 Mb to 1200 Mb.

cv@new-cv:~/arena$ ruby fiber_memleak.rb
VmRSS:     57168 kB
VmRSS:    121668 kB
VmRSS:    183568 kB
...
VmRSS:   1114664 kB
VmRSS:   1122624 kB

Files

fiber_memleak.rb (146 Bytes) fiber_memleak.rb cvss (Kirill Vechera), 05/23/2015 09:27 PM

Updated by jeremyevans0 (Jeremy Evans) 9 months ago

  • Status changed from Open to Feedback

I think this may be operating system/platform specific and could be fixed in a previous version. I could replicate the behavior on ruby 2.4.1p111 on x86_64-linux, but memory seemed to stablize around 180MB on ruby 2.7.0dev on i686-linux. Memory use stablized around 110-120MB on many versions of ruby on amd64-openbsd. Is anyone able to replicate this issue on the master branch on x86_64-linux?

#2

Updated by jeremyevans0 (Jeremy Evans) 8 months ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF