2013-03-26 14 views
5

In REE, e la risonanza magnetica 1.9+, garbage collector del rubino può essere sintonizzato:Dove va la memoria della memoria di Ruby e come si può verificare se è impostata?

Ma nessuno di questi articoli dice dove mettere questa configurazione. Immagino che se si trova nell'ambiente, Ruby lo raccoglierà quando inizia - tuttavia, non c'è modo di verificarlo per quanto posso dire. Le impostazioni non vengono visualizzate in tutte le costanti di runtime che riesco a trovare.

Quindi, dove inserisco questa configurazione e come posso verificare che sia in uso?

risposta

1

Queste impostazioni sono environment variables, quindi è necessario impostarle nel processo principale del processo ruby stesso. Manypeople consiglia la creazione di un semplice script di shell per questo scopo, forse, definendolo /usr/local/bin/ruby-custom:

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

Le prime righe impostati a seconda di quale personalizzati variabili che si desidera, e l'ultima riga invoca ruby sé, passando qualsiasi argomento questo script è stato inizialmente dato.

Vi verrà poi necessario contrassegnare questo script come eseguibile (chmod a+x /usr/local/bin/ruby-custom) e quindi configurare passeggeri di utilizzarlo come ruby eseguibile, con l'aggiunta di questo al vostro Apache .conf File:

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

grazie - ma che cosa sulla seconda domanda: come posso verificare in runtime che la configurazione abbia funzionato? (che è davvero la mia domanda principale) –

+0

In Ruby 1.9+, potresti essere in grado di usare ['GC.stat'] (http://ruby-doc.org/core-1.9.3/GC.html#method- c-stat) per ispezionare alcune di queste impostazioni. Si noti inoltre che REE è [fine vita] (http://blog.phusion.nl/2012/02/21/ruby-enterprise-edition-1-8-7-2012-02-released-end-of -life-imminente /) –

Problemi correlati