すでに 32 ビット OS (Linux) と 4 GB の RAM がある場合、スワップ領域を用意する意味はありますか?
32 ビット アドレスでアドレス指定する必要があるが、これはすでに RAM によってすべて「使い果たされている」ため、スワップはオペレーティング システムからアクセス可能になるでしょうか?
答え1
もちろんです。なぜそうしないのでしょうか? より適切な質問は、今日では 32 ビット OS を使用することが理にかなっているかどうかだと思いますが、それはさておき。
まず、32 ビット オペレーティング システムは 4 GB のメモリしかアドレス指定できないという誤った印象を受けていますが、実際はそうではありません。 32ビットシステムは、物理アドレス拡張(PAE)を使用することで4GBを超えるメモリをアドレス指定できます。Linux では、カーネル バージョン 2.3.23 以降でこれがサポートされており、最大 64 GB のメモリをアドレス指定できます。したがって、実際には、4 GB の RAM があることは特に重要ではありません。
さらに、スワップとは何かを考えると、スワップがあることはほぼ常に理にかなっています。スワップは単なる仮想メモリであり、仮想メモリは、RAM が歴史的にディスク ストレージよりも高価であったという事実から生まれました。本質的には、すべてを RAM に保持するのではなく、比較的安価なディスク領域を使用してメモリ コンテンツを保存できるようにすることで、ソフトウェアが必要とする比較的高価な RAM の量を制限することにより、コンピューティングのコスト効率を高めるソリューションです。高レベルでは、スワップまたは仮想メモリは、RAM よりも低速ですが、一時ファイルの場合のようにディスクのランダムな部分から読み取るよりも高速なメモリ ロケーションです。その結果、オペレーティング システムは、必要になるとは予想されない、または「すぐに」必要になるとは予想されないメモリ コンテンツを仮想メモリに保存します。基本的には、メモリ コンテンツの待合室のようなものです。
このソリューションは非常にうまく機能したため、一般的なコンピューティング オペレーティング システム (Linux もこれに該当) では仮想メモリが利用可能であることが想定されています。通常、仮想メモリは無効にできますが、そうする正当な理由はほとんどありません。オペレーティング システムに必要なメモリよりも多くのメモリがある場合でも、頻繁にアクセスされないデータを仮想メモリに保存しても基本的にデメリットはなく、ほとんどの場合、オペレーティング システムで長年標準となっている仮想メモリを無効にするメリットはありません。変更してもメリットがないのに、なぜ変更する必要があるのでしょうか。
つまり、まとめると、32 ビット オペレーティング システムは 4 GB を超えるメモリをアドレス指定できるため、またスワップが RAM よりは遅いがランダム ディスクよりは速い、アクセス頻度の低いデータの場所であるため、スワップを持つことはほぼ常に「理にかなっている」と言えます。