私の知る限り、Ruby アプリケーションを 64 ビット Ruby で実行すると、32 ビット Ruby よりも多くのメモリを消費します。これはポインター アドレス空間が原因です。
私のマシンには 64GB の RAM が搭載されているため、64GB のメモリ全体にアクセスするために、64 ビット OS をインストールしました。
- 64 ビット OS に 32 ビット Ruby をインストールすることはできますか?
- 64 ビット OS に 32 ビット Ruby をインストールすると、32 ビット Ruby は 64 GB RAM を使用できるようになりますか?
- 64 ビット OS で 32 ビット Ruby を実行することの長所と短所は何ですか?
Ruby on Rails アプリケーションを 64 ビット Ruby で実行すると、32 ビット Ruby よりも多くの RAM を消費することに気付きました。私は Phusion Passenger を使用しているので、要求ごとに新しい Ruby プロセスをフォークまたは作成します。そのため、個々の Ruby プロセス (ユーザー要求) は 32 ビット Ruby で 2 GB に制限されているか、Ruby プロセス全体が 32 ビット Ruby で 2GB のみにアクセスするように制限されています。少しルビー。
私の Rails アプリケーションのコードベースは大きく、同じコードを複数の Rails アプリケーションとして単一のサーバーで複数のクライアントにレプリケートすることを計画しているため、RAM のすべての MB が私にとって重要です。したがって、より多くの RAM が空いていれば、追加のクライアントに対して追加のアプリケーションを実行できます。
アプリケーション アーキテクチャの詳細については、「(Phusion Passenger + Nginx を使用して) 同じポート (80) を持つ複数のインスタンス名で同じ Rails アプリを実行する」を参照してください。