2015-10-09 34 views
0

我們的Rails 3.2應用程序(Ruby 2.1.5)位於Passenger(4.0.59)後面,並使用Passenger文檔中規定的默認spawn方法是「智能」。PassengerSpawnMethod「智能」不會減少內存佔用?

智能產卵聲稱可以減少每個進程內存佔用約33%的折扣。

我很好奇我們從使用智能產卵獲得多少好處,所以我修改了我們的配置以指定「直接」產卵。

但是,切換到「直接」後,我們的進程的內存佔用量沒有像我預期的那樣增加。這似乎表明我們實際上並沒有從智能產卵中獲得任何好處。

關於爲什麼會出現這種情況的任何理論?

我們是而不是事實上,儘管在配置文件中指定它,但使用智能產卵?是「頂級」輸出(特別是VIRT和RES列)不是衡量每個進程內存使用情況的好方法嗎?

完全是另一回事嗎?

回答

0

爲了利用節省的內存,您需要Ruby> = 2.0.0,因爲Ruby垃圾回收器從2.0.0開始只具有對寫入友好性的拷貝。

您不應該使用「top」來測量內存,因爲它不考慮共享內存。

這些事實的兩個都記錄了乘客文檔中:

+0

地說在我們使用Ruby 2.1.5的問題,所以這是不是問題。我將使用乘客狀態重新測試以測量內存使用情況。 – jph

相關問題