Project

General

Profile

Actions

Bug #9800

closed

Ship 2.1.2 with GC_HEAP_OLDOBJECT_LIMIT_FACTOR of 1.3

Bug #9800: Ship 2.1.2 with GC_HEAP_OLDOBJECT_LIMIT_FACTOR of 1.3

Added by sam.saffron (Sam Saffron) over 11 years ago. Updated about 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
2.1.1
[ruby-core:62313]

Description

Many users are complaining about memory bloat in 2.1 series of Ruby

As denoted in https://bugs.ruby-lang.org/issues/9607 there is an excellent plan by ko1 to address this.

In the mean time I suggest we reduce GC_HEAP_OLDOBJECT_LIMIT_FACTOR to 1.3 which effectively means that instead of memory doubling it only increases by 1.5x or so over 2.0 series.

It is great we have the setting, but the reality is that most users will not want to play with this.


Files

1-committed_as-ruby-2.0.jpg (21.2 KB) 1-committed_as-ruby-2.0.jpg ariveira (Alexandre Riveira), 09/08/2014 10:50 PM
2-committed_as-ruby-2.1jpg (22.5 KB) 2-committed_as-ruby-2.1jpg ariveira (Alexandre Riveira), 09/08/2014 10:51 PM
3-committed_as-ruby-2.1-factor-1.3.jpg (22.6 KB) 3-committed_as-ruby-2.1-factor-1.3.jpg ariveira (Alexandre Riveira), 09/08/2014 10:51 PM

Updated by ko1 (Koichi Sasada) over 11 years ago Actions #1 [ruby-core:62470]

Sorry for late response.

I can agree this proposal because current default "2" also has no evidence to use.
I think more survey are welcome to set ideal default setting. 1.7? 1.5? 1.3?

However, already 2.1.2 released?

Updated by hsbt (Hiroshi SHIBATA) over 11 years ago Actions #2 [ruby-core:62472]

How about performance down of this change?

Updated by hsbt (Hiroshi SHIBATA) about 11 years ago Actions #3 [ruby-core:64335]

  • Status changed from Open to Feedback

Updated by bitsweat (Jeremy Daer) about 11 years ago Actions #4 [ruby-core:64342]

I'm running Ruby 2.1.2 with GC_HEAP_OLDOBJECT_LIMIT_FACTOR = 1.3 with good results, but I didn't do a thorough survey of behavior.

Does @ko1 (Koichi Sasada) suggestion (https://bugs.ruby-lang.org/issues/9607#note-11) change the situation, and tuning of this parameter?

Updated by ariveira (Alexandre Riveira) about 11 years ago Actions #5 [ruby-core:64876]

The following charts 32bit linux server with 64gb 100 puma aplications and rails 2.3.11. The first chart contains ruby 2.0, the second ruby 2.1 and the third ruby 2.1 with GC_HEAP_OLDOBJECT_LIMIT_FACTOR = 1.3.

I dispose doing tests with ruby with other values ​​for GC_HEAP_OLDOBJECT_LIMIT_FACTOR as 1.2, 1.3, 1.5, etc.

Performance for me was not affected. My test is to do something like:

1.upto (100_000) do | i |
MyModel.find (i)
end

In parallel check if the system crashes or is slow. With ruby 2.0 is slow, even with ruby 2.1 not the 1.3 FACTOR. To perform the above test have to make the change suggested by Eric Wong at #10009.

Updated by naruse (Yui NARUSE) almost 8 years ago Actions #6

  • Target version deleted (2.6)

Updated by jeremyevans0 (Jeremy Evans) about 6 years ago Actions #7

  • Status changed from Feedback to Closed
Actions

Also available in: PDF Atom