Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to optimise for lower memory usage #48

Open
maia opened this issue Mar 19, 2018 · 0 comments
Open

Option to optimise for lower memory usage #48

maia opened this issue Mar 19, 2018 · 0 comments

Comments

@maia
Copy link

maia commented Mar 19, 2018

Using the Heroku add-on, I'm missing the option to optimise for minimal memory usage (rather than optimising for speed). Is there any hidden way to enable such an option?

The UI has a dropdown with ActionController as only option, but it's still possible to profile worker dynos by changing RUBY_GC_SPY. As there's another dropdown with "speed" as the only option next to it, I wonder if it also has a way to alter it.

The reason for asking is that the suggested values don't seem to take into account that my worker dyno is limited with 512MB. I'd like to keep the app's 95th percentile memory usage at ~420MB, as it allows me to quickly identify periods that need my attention.

I assume that tunemygc should then suggest lower values of RUBY_GC_HEAP_FREE_SLOTS and RUBY_GC_HEAP_GROWTH_MAX_SLOTS, but due to my rather limited knowledge this might be incorrect or incomplete.

Edit: Here are suggested and current settings for the mentioned 512MB worker dyno:

Variable………………………………………………………………………………Suggested……………Existing
RUBY_GC_HEAP_INIT_SLOTS……………………………………………459_667………………419_430
RUBY_GC_HEAP_FREE_SLOTS………………………………………5_511_572…………………52_429
RUBY_GC_HEAP_GROWTH_FACTOR……………………………………………1.03………………………1.03
RUBY_GC_HEAP_GROWTH_MAX_SLOTS……………………………589_972………………209_715
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR………………………1.2…………………………1.2
RUBY_GC_MALLOC_LIMIT……………………………………………20_132_659…………4_194_304
RUBY_GC_MALLOC_LIMIT_MAX…………………………………36_238_786………16_777_216
RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR………………………1.32…………………………1.2
RUBY_GC_OLDMALLOC_LIMIT……………………………………12_430_400…………4_194_304
RUBY_GC_OLDMALLOC_LIMIT_MAX…………………………22_374_720………16_777_216
RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR…………………1.2…………………………1.2

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant