2013-03-26 17 views
5

ve MR 1.9+ Ruby'nin çöp toplayıcı ayarlanmış olabilir:Ruby bellek yapılandırması nereye gider ve ayarlanmış olup olmadığını nasıl kontrol edebilir? REE olarak

Ama bu makalelerin hiçbiri bu yapılandırmayı nereye koyacağını söylüyor. Bence eğer çevrede ise, Ruby başladığında onu alacaktır - ancak bunu anlayabildiğim kadarıyla kontrol etmenin bir yolu yoktur. Ayarlar bulabileceğim herhangi bir çalışma zamanı sabitinde görünmüyor.

Peki, bu yapılandırmayı nereye koyacağım ve nasıl kullanıldığını nasıl kontrol edebilirim?

cevap

1

Bu ayarlar environment variables şeklindedir, bu nedenle bunları yalnızca ruby işleminin kendisinin üst işleminde ayarlamanız gerekir. Manypeople belki o /usr/local/bin/ruby-custom çağırarak, bu amaç için basit bir kabuk komut dosyası oluşturma tavsiye:

#!/bin/bash 
export RUBY_HEAP_MIN_SLOTS=20000 
export RUBY_HEAP_SLOTS_INCREMENT=20000 
...etc... 
exec "/path/to/ruby" "[email protected]" 

ilk birkaç satırı istediğiniz hangisi özel değişkenler ayarlayın ve son satır bu komut neyse argümanlar geçirmeden, ruby kendisini çağıran başlangıçta verildi.

sonraki yürütülebilir (chmod a+x /usr/local/bin/ruby-custom) olarak bu komut dosyası işaretlemek ve sonra Apache .conf dosyasına bu ekleyerek, ruby yürütülebilir olarak kullanma Yolcu yapılandırmanız gerekir:

PassengerRuby /usr/local/bin/ruby-custom 
+0

sayesinde - ama ne ikinci soru hakkında - yapılandırmanın çalıştığı çalışma zamanında nasıl çift kontrol edebilirim? (asıl sorum budur) –

+0

Ruby 1.9 + 'da, ['GC.stat']' ı kullanabilirsiniz (http://ruby-doc.org/core-1.9.3/GC.html#method- Bu ayarlardan bazılarını denetlemek için c-durumu). Ayrıca, REE'nin [hayat sonu] olduğuna dikkat edin (http://blog.phusion.nl/2012/02/21/ruby-enterprise-edition-1-8-7-2012-02-released-end-of Ömrü-yakın /) –

İlgili konular