DebianサーバーVPSがあり、プロバイダーは64ビットDebian 5をインストールしました。750MBのRAMしかなく、変数が64ビットシステムでより多くのRAMを使用すると聞いた場合、32ビットインストールを要求する必要がありますか?
DebianサーバーVPSがあり、プロバイダーは64ビットDebian 5をインストールしました。750MBのRAMしかなく、変数が64ビットシステムでより多くのRAMを使用すると聞いた場合、32ビットインストールを要求する必要がありますか?
回答:
短い答え:
64ビットソフトウェアと32ビットソフトウェアでは、変数が2倍のスペースを取ることはありません。32ビットOSへの切り替えによる潜在的なメモリゲインは、努力する価値はありません。
長い答え:
数字は大きくてもかまいませんが、だからといって数字が大きくなるわけではありません。また、これは文字列ではなく数値に適用され、文字列は(一般的に)アプリケーションで最も多くのメモリを消費します。
さらに、多くのアプリケーションは、Cなどの言語のようにint
、32ビット未満を含む任意のサイズにすることができるため、使用する数値のサイズを明示的に指定します。さらに、64ビットLinuxマシンでは、C int
は32ビットです。したがってlong long
、64ビットの数値を取得するように明示的に要求する必要があります。
そのため、基本的に、アプリケーションは64ビット用にコンパイルされたという理由だけで、より多くのメモリを使用することはありません。
編集:
64ビットのFirefoxは2倍のメモリを使用するというGillesの主張に応えて、システムで32ビットと64ビットのFirefoxを比較しました。http://acid3.acidtests.org/に
開いている5つのタブを起動してテストし、テストを3回実行しました(32ビットで1回、64ビットで1回、その後2回繰り返します)。このサイトを選択したのは、JavaScriptを集中的に使用し、静的コンテンツを使用しているためです(ページの各レンダリングは同じデータを提供します)。
最終実行時:
32ビット:173,244kb rss / 918,348kb virt
64ビット:184,588kb rss / 966,624kb virt
はい、より広範なテストを行うことはできますが、この2つの間のサイズの違いはわずかであることを十分に実証していると思います。
RAMが4ギガバイト未満のシステムには、64ビットではなく32ビットのインストールを選択します。
64ビットDOESは、ポインターの性質により、より多くのメモリを使用します。これは、バニラLAMPインストールの場合、約10〜50メガバイト余分になります。
RAMが制限されているシステム(たとえば256meg)では、これはかなりのチャンクになる可能性があります。
技術的には、PAEでも同じことが64gigまで適用されますが、アプリケーションのアドレス可能なスペースはいずれにしても4gigに制限されます。したがって、4gigを超えるものでは、特にPAEのオーバーヘッドに関連するパフォーマンスの向上を活用するために、64ビットをお勧めします。
一言で言えば:<4gig = 32bit | > 4gig = 64ビット。
64ビットシステムの利点は、より高速に実行されるいくつかの数値演算アプリケーションを除き、4GBを超えるメモリに対応できることです。一部のアドレス空間はカーネルに予約されているため、プロセスは約2GBまたは3GBのアドレス空間のみを取得します(カーネル構成に応じて多かれ少なかれ)。データベースとWebサーバーのユースケースでは、スワッピングをあまり計画しておらず、多くの数値計算を実行しません。したがって、750MBのRAMのみでは、64ビットシステムを使用する利点はありません。
コードサイズは、i386(32ビット)コードとamd64(64ビット)コードでほぼ同じです。64ビットプログラムで使用されるデータメモリはいくらか大きくなります。どのくらい大きくなるかは、アプリケーションによって異なります。あなたのユースケースには大きな違いは見られないと思いますが、大きな違いはありません。
64ビットを使用しても少しのコストがかかり、メリットがないことを考えると、32ビットシステムを使用することをお勧めします。