回答:
私は、良い経験則は確かに上記のとおりであると言うでしょう。物理メモリの2倍。ここで考慮すべきことは、小さなスワップパーティションを使用することは可能ですが、ほとんどの通常の状況では十分です。このシステムを堅実に安定させたい場合は、8 GBの推奨に従います。実際、2 * RAM + 1 MBをお勧めします。これにより、メモリの2つのコピー全体を完全にスワップアウトする余裕ができます。これにより、パフォーマンスに悪影響を及ぼす可能性のある「シェルゲーム」シナリオが回避されます。これにより、システムで異常なイベントが発生した場合の回復力のレベルが保証されます。
無人環境でアプリケーションが不適切に動作するシナリオを見てきましたが、それを知る前に、システムのクロール速度が低下し始めます。
実行内容によっては、スワップファイルを完全に省くことができる場合もあります。OSの追加スペースは、一度に多くのアプリケーションを実行する場合に便利です。ただし、いくつかのプロセスのみを実行する場合は、GUIを操作しないでスワップファイルを無効にすることが適切です。
ただし、スワップファイルを作成する場合は、常に以下のサイズ設定式を使用します。
[(2 x RAM) + 1 MB] = Swap File Size
また、OSがデータディスクからの読み取り/書き込みと同時にスワップできるため、パフォーマンスを向上させるため、スワップファイルを可能な限り別のディスクに置くことをお勧めします。
これがお役に立てば幸いです。
Linuxは、要求するすべてのことに対して十分なRAMがあればスワップなしで非常に快適に動作できますが、いくつかのスワップを使用することをお勧めします。 -ディスクに使用されるものを解放し、RAMを解放して、現在アクティブなIO操作のキャッシュ/バッファとして使用します。
また、RAMの量に関係なく、スワップを使用すると、アプリが正常に動作せず通常より多くのRAMを必要とする場合や、大量のメモリを必要とする異常な操作を選択した場合にセーフティネットを少し追加できます。
一般的に、現代のマシンの2xRAMには同意しません。ディスクにスワップアウトするのに十分な8Gbのページで終わる場合、システムはその時点までにまったく使用できない速度に落ち着く可能性があります。1xRAMでさえ、多くの場合IMOで過剰になります。スワップスペースはいつでもファイルの形で追加できるため、必要に応じて後でスワップを追加できることに注意してください。たとえば、余分なGBのスワップを追加するには:
dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile
そして、それを削除するには(不要になったら):
swapoff /path/to/newfile
rm /path/to/newfile
(ただし、ファイルシステムのオーバーヘッドがあり、断片化が考慮される可能性が高いため、ファイルへのスワップはパーティションまたは論理ボリュームに直接接続するよりも少し遅いことに注意してください)
休止状態、つまりラップトップ/ネットブックでは、IIRC Linuxがスワップ領域にメモリ状態を保存するため、事態が少し複雑になる可能性があります。そのため、休止状態を使用する場合は、スワップとしてRAMサイズ以上が必要になります(そして、パーティション/ボリュームベースのスワップであるか、ファイルベースを使用できる場合fstab
は、起動プロセスの非常に早い段階で初期RAMディスクが使用されており、実際のルートがまだマウントされていないことを確認できます)。
しかし、これらのポイントはすべて議論の余地があるかもしれません。テラバイトのディスクストレージがある場合、スワップに8Gbを割り当てることはほとんど困難ではありません!
ここでのUbuntu SwapFAQによると、計算は2 * MBのRAMです。したがって、この場合は8GBです。ただし、現実的には2GB以上は必要ありません。
スワップ用にパーティションを予約する必要はまだありますか?最近、これはシステムパーティション上のファイルでも機能すると考えました。さらに、メモリをさらに挿入する場合や、それほど多くのスワップスペースを必要としない場合は、サイズを簡単に変更できると思います。
編集:これを行う方法を次に示します(Linux 2.6カーネルから開始)。
まず、休止状態などを使用する場合は、少なくともRAMのサイズのスワップパーティションが必要です。
次に、RAMのサイズは10の倍数ではなく 2の倍数であるため、2つのスティック512MiB(各536870912 bytes
)に1GBのスペースを宣言するだけでは十分ではありません。これは、1024MiB(1073741824 bytes
)ではなく1000MB 必要な...代わりに、電卓を取る必要があります1024 * 1024 * 1024 * # of GiB
また読む: http://en.wikipedia.org/wiki/Binary_prefixおよびman 8 units
Linuxボックス
そのため、4 GBのRAMの場合、少なくともスワップを使用する4294967296 bytes
か4295 MB
、すべての機能を使用する必要があります。
これはかなり大きいので、おそらくすべてのニーズに十分なはずです
Linuxでの個人的な経験から、RAMのサイズの2倍という従来の公式は、1 GBから2 GBのRAMを搭載した古いシステムにのみ適していることを知りました。
ただし、RAMのギグが多い新しいシステムでは、次のことをお勧めします
RAM <2 GBの場合、スワップ領域= 2 x RAM
RAM = 2 GB-8 GBの場合、スワップスペース= RAM
これは、高性能の計算とアプリケーションを実行しているときでも、システムのパフォーマンスに影響を与えません。
メモリが少なくとも4 GBの場合は、元のRAMを使用することをお勧めします。これにより、システムが安定して効率的になります。
RAM = 8 GB-64 GBの場合、スワップスペース= 0.5 x RAM
この場合、マルチメディアアプリケーションを除き、最大4 GBのRAMで十分であるため、使用することをお勧めします。
UbuntuのSwapFaqは、おそらくあなたの多くの質問にお答えします。大量のRAMを使用すると、この記事で説明されているデフォルトの「swappiness」を変更することでメリットが得られる場合があります。