Project

General

Profile

Actions

Bug #11175

closed

possible fibers memory leak or risky GC behavior

Added by cvss (Kirill Vechera) almost 9 years ago. Updated over 4 years ago.

Status:
Closed
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) 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?

Actions #2

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0