From: from-ruby-lang@... Date: 2015-07-02T15:48:18+00:00 Subject: [ruby-core:69845] [Ruby trunk - Bug #11174] threads memory leak Issue #11174 has been updated by Cyril Vechera. ruby -v changed from 2.2.0 to 2.2.3, 2.2.0, 2.1.0, 2.0.0, 1.9.3 I've checked the bug on older versions and the 2.2-head: leaks all but 1.8.7 ~~~ $ ruby --version ruby 2.2.3p139 (2015-07-01) [x86_64-linux] $ ruby /tmp/thread_memleak4.rb VmRSS: 47152 kB VmRSS: 72872 kB VmRSS: 90448 kB VmRSS: 105752 kB ~~~ ~~~ $ ruby --version ruby 1.8.7 (2014-01-28 patchlevel 376) [x86_64-linux] $ ruby /tmp/thread_memleak4.rb VmRSS: 2496 kB VmRSS: 3688 kB VmRSS: 2768 kB VmRSS: 2536 kB VmRSS: 2536 kB ~~~ ---------------------------------------- Bug #11174: threads memory leak https://bugs.ruby-lang.org/issues/11174#change-53244 * Author: Cyril Vechera * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.2.3, 2.2.0, 2.1.0, 2.0.0, 1.9.3 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- There's strong memory growth during intensive thread using. Script to demonstrate the problem (on x86_64-linux): ~~~ loop { 10.times { 1000.times.map { Thread.new { } }.each(&:join) } GC.start # not necessary, just to be sure puts File.open('/proc/self/status').grep(/VmRSS:/).first } ~~~ Running this script shows RSS growing from 45 Mb at the start time to 700 Mb after few minutes. ~~~ $ ruby thread_memleak4.rb VmRSS: 45036 kB VmRSS: 66748 kB VmRSS: 87024 kB ... VmRSS: 678052 kB ~~~ ---Files-------------------------------- thread_memleak4.rb (138 Bytes) -- https://bugs.ruby-lang.org/