Actions
Bug #11175
closedpossible fibers memory leak or risky GC behavior
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
Updated by jeremyevans0 (Jeremy Evans) almost 5 years 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?
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
- Status changed from Feedback to Closed
Actions
Like0
Like0Like0