4GB RAMのパーティションサイズを交換する


27

Ubuntu 9.04バージョンをインストールする予定です。スワップパーティション専用の領域はどれくらいですか。ずっと前にインストールしたときにRAMサイズを2倍に設定したことを覚えています。当時のRAMは256 MBでした。そこで、スワップパーティションを512 MBに設定しました。

回答:


15

私は、良い経験則は確かに上記のとおりであると言うでしょう。物理メモリの2倍。ここで考慮すべきことは、小さなスワップパーティションを使用することは可能ですが、ほとんどの通常の状況では十分です。このシステムを堅実に安定させたい場合は、8 GBの推奨に従います。実際、2 * RAM + 1 MBをお勧めします。これにより、メモリの2つのコピー全体を完全にスワップアウトする余裕ができます。これにより、パフォーマンスに悪影響を及ぼす可能性のある「シェルゲーム」シナリオが回避されます。これにより、システムで異常なイベントが発生した場合の回復力のレベルが保証されます。

無人環境でアプリケーションが不適切に動作するシナリオを見てきましたが、それを知る前に、システムのクロール速度が低下し始めます。

実行内容によっては、スワップファイルを完全に省くことができる場合もあります。OSの追加スペースは、一度に多くのアプリケーションを実行する場合に便利です。ただし、いくつかのプロセスのみを実行する場合は、GUIを操作しないでスワップファイルを無効にすることが適切です。

ただし、スワップファイルを作成する場合は、常に以下のサイズ設定式を使用します。

[(2 x  RAM) + 1 MB] = Swap File Size

また、OSがデータディスクからの読み取り/書き込みと同時にスワップできるため、パフォーマンスを向上させるため、スワップファイルを可能な限り別のディスクに置くことをお勧めします。

これがお役に立てば幸いです。


1
スワップファイルと言い続けます。これはLinuxでは非常にまれです。通常、スワップはドライブの別のパーティションであり、別のパーティション内のファイルではありません。
ジャスティンスミス

14

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を割り当てることはほとんど困難ではありません!


9

ここでのUbuntu SwapFAQによると、計算は2 * MBのRAMです。したがって、この場合は8GBです。ただし、現実的には2GB以上は必要ありません。


うん!8 GBは十分です!
ダースベイダー2009

5
特に大容量のRAMでは、RAMサイズが2倍になりすぎるように見えます-私は8GBを持っていますが、16GBスワップの代わりに1GBスワップのほうがうまく機能していることがわかります。
アンドリュースカグネリ09

@A正しい-2GBを超える容量は必要ないと現実的に述べた理由。この計算は古いものです。ただし、オンラインの記事のほとんどは2年以上前のものです。
-BinaryMisfit

以前は、300MBを超えるスワップは必要ないと言われていました。現在、4GBのRAMを使用して、使用しない 2つの異なるディスクに2つの1GBスワップパーティションがあります(swappinessを10に設定)。
ボイジャー

デスクトップで休止状態/サスペンドを使用しないことに注意してください。(それでも、休止状態になる前にスワップファイルを作成するスクリプトを作成し、目覚めてから削除することもできます)。
ボイジャー

3

スワップ用にパーティションを予約する必要はまだありますか?最近、これはシステムパーティション上のファイルでも機能すると考えました。さらに、メモリをさらに挿入する場合や、それほど多くのスワップスペースを必要としない場合は、サイズを簡単に変更できると思います。

編集:これを行う方法を次に示します(Linux 2.6カーネルから開始)。


今では窓のように機能しますか?知りませんでした。長い間Linuxから離れていました。
ダースベイダー2009


スワップファイルは、かなり以前から使用可能です。スワップパーティションのパフォーマンスは大幅に向上しています。
ジャスティンスミス

3

まず、休止状態などを使用する場合は、少なくとも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 unitsLinuxボックス

そのため、4 GBのRAMの場合、少なくともスワップを使用する4294967296 bytes4295 MB、すべての機能を使用する必要があります。

これはかなり大きいので、おそらくすべてのニーズに十分なはずです


1
中断するためにスワップパーティションは必要ありません。単にスワップファイルを使用できます(一時停止するまで存在する必要はありません)。superuser.com/questions/21020/...
ボイジャー

1

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で十分であるため、使用することをお勧めします。


mem-to-swapサイズ関数は2 GBで不連続であり、8 GBで再び不連続です。これは少なくとも不連続のワンサイズ上のそれの「間違った」を意味します...
einpoklum - REINSTATEモニカ

0

UbuntuのSwapFaqは、おそらくあなたの多くの質問にお答えします。大量のRAMを使用すると、この記事で説明されているデフォルトの「swappiness」を変更することでメリットが得られる場合があります。


あいまいで、役に立たない。古いガイド。
ahnbizcad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.