Rails 3.2 アプリケーション (Ruby 2.1.5) は Passenger (4.0.59) の背後にあり、Passenger のドキュメントで「スマート」と規定されているデフォルトの spawn メソッドを使用します。
スマート スポーンは、プロセスごとのメモリ フットプリントを約 33% 削減すると主張されています。
スマート スポーンを使用することでどれだけのメリットが得られるのか興味があったので、「直接」スポーンを指定するように構成を変更しました。
ただし、「ダイレクト」に切り替えた後、プロセスのメモリ フットプリントは予想どおりには増加しませんでした。これは、スマート スポーンから実際には何のメリットも得られていないことを示しているようです。
なぜこれが当てはまるのかについての理論はありますか?
構成ファイルで指定しているにもかかわらず、実際にはスマートスポーンを使用していませんか? 「上位」の出力 (特に VIRT 列と RES 列) は、プロセスごとのメモリ使用量を測定する良い方法ではありませんか?
まったく別の何か?