Yakın zaman önce 2.0 sürümünden 2.0.5 sürümüne bir Ruby yükseltmesini Heroku web uygulamasına yükledim ve şu anda sürekli olarak bellek kotası hataları gönderiyorum, oysa 2.0 ve 1.9 ile bu hiç bir zaman olmuş. Normal bir Heroku Dyno için 512MB'lık bir limit var ve iki Dynos'taki Sidekiq ile bir thread ile birlikte Unicorn ile 2 işlem yürütüyorum.Ruby 2.1 ya da Ruby 2.0 ya da 1.9 ile uyumlu bellek kullanımı
Phusion Passenger memory consumption increase from 1.9.3 (system) to 2.1.2 (RVM) on Ubuntu okunduktan sonra, nesil çöp toplayıcısını devre dışı bırakmak için RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR
çevre değişkeni ayarlamayı denedim ve bellek tüketimini biraz iyileştirdi, ancak yine de 2,0 veya 1,9 tükendiğim yerlerin yakınında kalmamı sağladı. Şu anda bellek benim birincil endişe olduğu gibi, 2.0 için geri dönmek yerine ruby 2.1.x ile bu sorunu tamir edebilir eğer görmek istiyorum. İşte
, ben Ruby 2.1.5 Ruby 2.0.0-p598 döndürüldüğünü ve hafıza sorunları giderilmiş ve sınırının altında kalmıştır.
Sonra sonra, Ruby 2.1.5 yükseltme ancak 0.9 değişken RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR
ortamını ayarlama çalıştı. Gördüğünüz gibi, bellek kullanımı orijinal 2.1.5 grafiğinden biraz daha iyi, ancak yine de bellek kotasını ihlal ediyor.
çok ilginç. Bunu düşünürdüm [https://www.omniref.com/blog/blog/2014/11/18/ko1-at-rubyconf-2014-massive-garbage-collection-speedup-in-ruby-2- dot-2 /) ilgili ama cevabın burada ne olduğunu görmek merak ediyordu. – Anthony
2.2 sürümünü de takip ettim, ancak onların odaklanmalarının büyük ölçüde bellek tüketimindeki gelişmelerden ziyade performans geliştirmelerinden kaynaklandığından endişeleniyorum, bu yüzden çok fazla yardım etmeyeceğinden şüpheleniyorum. –
Bazı erken test kullanıcıları, 2.0.0 önizlemesinde1 güncellenmiş GC nedeniyle daha düşük bellek ayak izi bildirdiler1. Kontrol etmek isteyebilirsiniz. – Lenart