web-dev-qa-db-ja.com

16GBのRAMがあります。 32GBのスワップが必要ですか?

スワップ領域の経験則では、物理RAMの量を2倍にすることが多くの箇所を読んでいます。ただし、32 GBは大したことではないようです。そんなに必要ですか?この大量の物理RAMで必要なのでしょうか?

274
Tamás Szelei

それは完全にあなたがマシンで何をするかによって異なります。たとえば、Sapサーバーの場合は、はい、32 GBのスワップを追加します(128 GBのRAMと32 GBのスワップで動作するボックスがあります)。大量の写真やビデオを操作している場合は、少し交換するのが理にかなっています。 32GBはおそらく過剰です。

しかし、私はゼロスワップとは言いません。

万が一RAMを使い果たした場合-おそらく大きなファイルを開いて、Firefoxで長時間実行されているタブをパーペプスします。それは問題ではありません。メモリを取り戻すためのアプリケーション。そのような状況では、アプリケーションが強制終了されるとデータが失われる可能性があります。ただし、少しのスワップがある場合は、システムが続行し、スワップを取得してシステムの続行を許可します。重いスワッピングが発生するとシステムの速度が低下し、すべてのスワップが使い果たされる前に気づき、調査します。また、ディスクは非常に安いので、なぜスワップがないのですか?

実際にコンピュータで何をしているのかを尋ねずに「スワップは必要ありません」と言う人は誰でも仮定を立てています。 RAMを消費するコンピューターではほとんど何もしないかもしれませんが、スワップを「必要としない」という急な判断を下す前に、RAMを使用する予定について質問することをお勧めします。私の愚見で

186
popey

RedHatの推奨事項は次のとおりです。 推奨システムスワップスペース

同じリンクからの抜粋:

過去数年間、システム内のRAMの量に応じて、推奨されるスワップ領域の量は直線的に増加しました。しかし、現代のシステムのメモリ量は数百ギガバイトに増加しているため、システムが必要とするスワップスペースの量は、その上で実行されるメモリワークロードの関数であることが認識されていますシステム。ただし、スワップスペースは通常インストール時に指定され、システムのメモリワークロードを事前に決定するのが難しい場合があるため、次の表を使用してシステムスワップを決定することをお勧めします。

現在の表(2017年12月現在):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

元のテーブル:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 
245
ssapkota

ああ。この投稿の答えは非常に間違っています。これは、「どれくらいのスワップ?」というGoogle検索の最初の結果の1つとして出てきます。

まず、参照の良い点は buntu Swap FAQ です

このFAQは、ここでだれも言及していない重要なポイントであり、それは(強調鉱山)

大規模なプログラム(OpenOffice、Neverwinter Nights、ビデオエディターなど)により、システム全体に追加のメモリが必要になる場合があります。これらの大きなプログラムが起動中に使用するページのかなりの数は、初期化にのみ使用され、その後再び使用されることはありません。 システムはそれらのページをスワップアウトし、他のプログラムやディスクキャッシュ用にメモリを解放できます。これらの場合、スワップを使用して、システムが余分な負荷を処理できるようにします。

したがって、スワップは休止状態だけではありません!このアクティビティは、未使用のページをスワップアウトするため、一部のシナリオでは有益であり、他のシナリオでは有害です。システムが他の場所で使用するためにメモリを解放できるため有益ですが、そのスワップアウトが攻撃的であり、実際に必要なページをスワップアウトすると有害です。これは、アプリケーションが長期間アイドル状態になる可能性のあるデスクトップシステムでは特に当てはまりますが、ユーザーは、アプリケーションを元の状態に戻すとすぐにパフォーマンスを期待します。これがどれほど攻撃的であるかのコントロールは、swappinessと呼ばれます

Ubuntu Swap FAQでこれについて簡単に説明します swappinessとは何か、どうすれば変更できますか Ubuntuシステムのデフォルト値は60ですが、FAQデスクトップマシンには10の値を推奨します。

したがって、特定の非常に具体的なことを知らない限り、一部の人々がこの質問で推奨しているように、スワップスペースがまったくないシステムを持たないことは一般的に非常に重要ですシステムの使用シナリオであり、それがもたらす可能性のある結果を非常によく認識しています。 (個人的には、スワップなしでシステムを実行する状況はありません)スワップなしのメモリ不足シナリオでは、システムはプロセス(通常はOOMを引き起こしたプロセス)の強制終了を開始します。

58
brent

おそらくない。コンピューターの休止状態(ディスクへのサスペンド)を計画している場合は、少なくとも16 GBが必要です。休止状態にならない場合は、数ギガバイトのスワップを許可すれば十分です(最大4〜8)。

25
bandi

経験から私はこれを言うことができます:

私が3年間4GBのRAMを使用しているのを見て、Ubuntuのスワップ使用量は約60MBでしたが、これは非常に集中的なタスクを実行する場合のみです。数週間前、16GBのRAMを搭載したPCの使用を開始しましたが、スワップの使用率はこれまで0%のままでした。複数のコンパイル、ビデオレンダリング、その他の集中的なタスクを実行しました。スワップに変更はありません。 1KBの変更さえありません。

基本的に、Ubuntuでは、メモリRAMが多いほど、タスクでスワップを使用する必要が少なくなります。 16GBのRAM、または8GBのRAMでも十分です。 16GB PC 8 Virtualbox PC(それぞれ1GB〜2GBのRAM)を使用しました。私は720pビデオをコンパイルしてレンダリングしましたが、そのような状況でもスワップは変更されていません。

そうは言っても、2倍のメモリRAMのルールはLinuxベースのシステムには適用すべきではありません。メモリがもっとある場合はなおさらです。ただし、休止状態のプロセスはRAM内のすべてを取得してスワップに配置するため、RAMサイズと同じサイズのスワップまたは休止状態にする予定がある場合は、RAMサイズと等しい最小サイズが必要です。スワップ用。

もう1つの詳細は、一部のアプリ(すべてではない)がスワップからの読み取りを強制することです。だから少し持っておくといい。完全に無効にすることは、メモリ不足またはOOMのポイントに達した場合に非常に悪いです。この時点でスワップがない場合、カーネルが異なるRAMアプリの使用をスワップイン/アウトする方法はなく、最終的には使用頻度の低いものを削除し始めます。

自宅のデスクトップの意思決定に役立つ場合は、4年以上にわたってこの回答を更新した後、16 GB、32 GB、および64 GBのRAM PCを使用しました。わずか128MBのスワップでテストしたところ、休止状態にする場合を除き、より大きなスワップは必要ないことがわかりました。私はそれらでクラウド環境を使用しました、lxc、virtualbox、wine、あなたはそれに名前を付けます。私はビデオをopenshot、kazam、handbrake、audacityでレンダリングしました。 Gimp、Blender、Inkscape、さらにはLibreOfficeスイート全体を使用しました。 Steamでもプレイしましたが、これらのシナリオではスワップは使用されませんでした。もちろん、何らかの方法でラムの全量を使用することになった場合、最終的には使用されますが、一般的にラムが多いほど、必要なスワップは少なくなります。

ちょうど2セントです。

16
Luis Alvarado

いいえ、ディスクへのサスペンドなどの機能を使用しない限り、32 GBは必要ありません。

9
AlexTheBird

ほとんどの場合、まったく必要ありません。おそらく、非常に大きな画像ファイル、または大量のRAMを必要とする他のアプリを編集する場合、いくつか必要になる可能性があります。

私のシステムであなたのものと同様に使用されたものを見たことはありません。実際、一時的に1週間か2週間誤って無効にしたことがあり、問題に気付くことはありませんでした。ただし、主に1TBを超える空き容量があるため、スワップドライブ用に約5GBを保持しています。すべてのスペースをそのまま使用するわけではありません。

6
Marty Fried

RAMが1GBを超える場合、通常はUbuntuで十分です。 「スワップ= RAM x2」ルールは、256または128mbのRAMを搭載した古いコンピューター用です。

したがって、通常、4 GBのRAMには1 GBのスワップで十分です。 8 GBは多すぎます。

3
Emerson Hsieh

休止状態を使用する場合、RAMの量と同じ量のスワップを保持しても安全です。

スワップの量に関する一般的な経験則については、こちらをお読みください。

https://help.ubuntu.com/community/SwapFaq

あなたの場合、RAMに合わせて4 GBで十分だと思います。

3
roadmr

休止状態を使用する場合、スワップには少なくとも物理RAMと同じ量が必要です。

2
gemue2010

スワップが必要なのは、残りを休止状態にしたい場合のみです。これは、ハードドライブのスペースの無駄です。

2
Rens

4GBのRAMとUbuntu 16.04を搭載したラップトップを使用しています。ブート後、約1GBのRAMを消費し、それでもInkscape(たとえば)は実行されません(システムモニターは空きRAMの50%以上を表示します)。 Inkscapeがフリーズする スワップファイルを適用すると、1バイトのスワップが使用されていなくても、期待どおりに実行されます). Inkscape running だから、スワップパーティション(またはスワップファイル)をお勧めします。サイズについては、david6ルールを使用できます。

1
Danilo

Ubuntuから SwapFaq

なぜスワップが必要なのですか?

メモリを消費するプログラム時々、大きなプログラム(LibreOffice、Neverwinter Nights、ビデオエディタなど)により、システム全体に余分なメモリが必要になることがあります。これらの大きなプログラムが起動中に使用するページのかなりの数は、初期化にのみ使用され、その後再び使用されることはありません。システムはこれらのページをスワップアウトし、他のプログラムやディスクキャッシュ用にメモリを解放できます。これらの場合、スワップを使用して、システムが余分な負荷を処理できるようにします。

ハイバネーション(ディスクへのサスペンド)ハイバネーション機能(ディスクへのサスペンド)は、RAMの内容をマシンの電源を切る前にパーティションを交換してください。したがって、スワップパーティションは少なくともRAMサイズと同じ大きさでなければなりません。現在Ubuntuで使用されている休止状態の実装であるswsuspには、スワップまたはサスペンドパーティションが必要です。アクティブなファイルシステムではスワップファイルを使用できません。

予測不可能な状況予測不可能なイベントが発生する可能性があり、発生します(プログラムがおかしくなり、一部のアクションが予想よりも多くのスペースを必要とする、またはその他の予測できないイベントの組み合わせ) 。このような場合、swapを使用すると、何が起こったのかを把握したり、作業を完了したりするために余分な遅延が発生します。

メモリ使用量の最適化機械式ハードドライブはRAMよりかなり遅いため(SSD-ソリッドステートドライブ-ストレージは物理的なほど遅くはありませんドライブ(ただしRAMよりも遅い)、ファイル(ビデオなどのデータファイル、Firefoxなどの実行可能ファイル、またはライブラリ)が必要な場合、LinuxカーネルはファイルをRAMに読み取り、そこに保持します、次回必要になったときに既にRAMにあり、データアクセスがはるかに高速になります。ディスクの読み取りを加速するRAMの部分は、「キャッシュメモリ」と呼ばれます。応答性の点で大きな違いが生じることに気づくでしょう。 Linuxカーネルは、プログラムによって予約されたRAMを自動的にスワップに移動しますが、実際には使用されませんが、キャッシュメモリを拡張するというより良い目的に役立ちます。

スワップパフォーマンスの最適化スワップスペースはディスクデバイスを使用するため、システム自体も使用している可能性があるため、スワップスペースを大幅に使用するシステムでパフォーマンスの問題が発生する可能性がありますスワップ操作に必要なのと同じディスクデバイス。この問題を軽減する1つの方法は、別の物理ドライブにスワップスペースを確保して、そのリソースの競合を減らすか排除することです。

どのくらいのスワップが必要ですか?

1GB未満の物理メモリ(RAM)の場合、スワップスペースは基本的な最小値としてRAMの量と同じにすることを強くお勧めします。また、システムの使用可能なハードディスク領域の量に応じて、戻り量が減少するため、スワップ領域はRAMの量の最大2倍にすることをお勧めします。

最新のシステム(> 1GB)の場合、スワップスペースは、「休止状態を使用する場合」の物理メモリ(RAM)サイズと少なくとも等しくなければなりません。そうでない場合は、最小のround(sqrt(RAM))と最大RAMの2倍の量。実際に使用するよりも多くのスワップ領域を持つことの唯一の欠点は、それのために予約するディスク領域です。

「リターンの減少」とは、RAMサイズの2倍以上のスワップスペースが必要な場合、ハードディスクドライブ(HDD)アクセスが約10³遅くなるため、RAMを追加することを意味します。次にRAMアクセス、つまり1秒かかるものが突然15分以上かかります。そして、高速ソリッドステートドライブ(SSD)でさらに1分...

シナリオ例

    RAM(GB) No hibernation  With Hibernation  Maximum
      1      1                2                   2
      2      1                3                   4
      3      2                5                   6
      4      2                6                   8
      5      2                7                  10
      6      2                8                  12
      8      3               11                  16
     12      3               15                  24
     16      4               20                  32
     24      5               29                  48
     32      6               38                  64
     64      8               72                 128
    128     11              139                 256
1
Jebin Philipose

ラップトップの場合は、少なくともスワップをRAMの容量と等しくし、休止状態を完全に許可します。デスクトップであっても、RAMの量と同じ量を保持しますが、それは私だけです。デスクトップではほとんど使用されません。

0
haziz

これに留意してください-

通常、スワップ領域のサイズは、RAMが2GB未満のシステムの場合はメインメモリの約2倍に、サイズが大きい場合はメインメモリの約1倍に設定してください

したがって、4 GBのRAMを使用している場合は、休止状態にならない限り、スワップは必要ありません。
必要なスワップは約3-3.5 Gb、それ以下です。
だからあなたの常識を使用し、ディスクスペースを無駄にしないでください

0
Ashu

私はあなたがそれを逆に手に入れたと思います。 SWAP推奨 、16GBまで必要です。したがって、SWAPは実際のRAMサイズの1/2でなければなりません。しかし、それでもまだたくさんのスペースがあります。必要なものに依存します。 "hibernate"を使用しない場合、ディスク領域に余裕がある場合は、約4〜8 GBを維持してください。 16GBを持っているので、強力なリソースを必要とするコンピューターを使用していると思われます。

2GB RAMと1GB SWAPがあります。私はそれで大丈夫ですが、それは私の意見です。他のコメント/提案を見て、彼らが言うことを見てください。

0
waynerod10

情報が多すぎ、意見の相違がある。

私の提案buntデスクトップガイドライン:

 amount of RAM      recommended swap    with hibernation
----------------    ----------------    ----------------
 less than 4GB        2x RAM size         3x RAM size
   up to 8GB              4GB             2x RAM size
   up to 16GB             4GB            1.5x RAM size
  16GB or more            4GB           No extra needed
0
david6

ここで引用するための参照を見つけることができませんでしたが、RAM内のデータ全体をスワップアウトする必要があるアプリケーションを使用する場合、「RAMサイズ+128 MB」または「1.25 [倍のRAMサイズ '(どちらが正しいか忘れました)RAMが2 GB以上あると仮定します。 RAMが2GB以下の場合、スワップとしてRAMサイズを2倍にすることをお勧めします。IBMのドキュメントに基づいて、IBM AIXの以前の組織でこの推奨に従いました。スワップの使用はRAMがメモリにロードするデータを処理するのに十分でない場合に安全にRAMからデータを移動するため、これはほとんどの* nixに当てはまると思います。 「free」コマンドを使用して、実際に使用されているスワップの量を評価できます。

0
Jamess

いいえ、32GBは必要ありません。デスクトップシステムのルールとして、スワップは4GBphysical RAM +数GBの間のどこかにあると思います。したがって、16GBの物理RAMの場合、スワップはおそらく4GBから18GBになります。

スワップスペースにスワップする必要があるものは、常駐するアプリケーション(つまり、使用中に実行し続けるシステムサービスおよびアプリケーション)が使用する物理RAMの量とほぼ等しくなります。一度実行してから終了するタスクとは異なります)。デスクトップシステムで、ブラウザ、ワードプロセッサ、電子メールプログラム、グラフィックス、またはビデオエディタを開いたままにして、他の作業をしているとします。それらは2GB以上、おそらく4GB以上を簡単に占有します。したがって、おそらく6GBのスワップが適切です。

一般的なルールとして、必要以上に数GBを増やしても害はありません。スワップは通常、多くのRAMがある場合は使用されませんが、一部のプロセスが過剰な量を使用しているときに役立ち、システムがプロセスを殺すのを防ぐことができます。

注:OSの休止状態を使用する場合は、前述のように16GBがすべて必要になりますが、最近のコンピューターは休止状態から多くの恩恵を受けません。高速SSDを使用している場合、起動は休止状態から再開するよりも高速または高速である可能性があり、スリープモードでは、休止状態からのエネルギー使用量の利点がそれほど大きくないため、最新のコンピューターは無視できるほどのエネルギーしか使用しません。

0
thomasrutter

非常に大きなファイルを作成している場合、たとえばラップトップで機械翻訳システムを作成している場合(そうですね、どうしてそんなことをしたいのですか?私の教授は私を作っていると言えます;-))答え確かにそうです。実際のところ、現時点では32GBのスワップにしないことを後悔しています。

Ubuntuをオフィスやインターネットでカジュアルに使用する場合、2 GBのスワップを使用することはありませんが、実際には明確な答えはありません。すべてはコンピューターで何をするかによって異なります。

0

私はMacラップトップを持っています。 Windowsよりも優れていますが、メモリを維持すると、特にブラウザでメモリが忍び込みます。そのため、最終的にはメモリがいっぱいになります。他の人が指摘しているように、スワップがあれば、生き残り、気づき、何かを殺すことができます。しかし、もっと重要なのは、スワップがある場合、一部のページがスワップアウトされ、続行できることです。

したがって、マシンを長時間放置することを計画している場合、スワップはゾンビジャンクからメモリを解放する便利な方法です。確かに、3gbで私よりも16gを埋めるのに時間がかかりますが、それでもナイスです。この目的のために、4Gbで対応します。

0
Dov

メモリを使い果たしたときにプログラムを実行できないのではなく、システムの速度を著しく低下させるために、スワップ領域を大幅に増やすもう1つの理由を述べた人はいないようです。障害時にリダイレクトするロードバランサーを前に持っている場合、スワップを小さく(1GBなど)したい場合があります。最初にプログラムの速度を落としたい場合は、4GB +メモリサイズの平方根を検討します。物事が死ぬ前に本当に減速するために、1.25時間のメモリサイズの最小値を保ちます(せっかちな人間が最初にgiveめない限り-これはバックグラウンドジョブに適しています)。

開発マシンと本番マシン用に1GBを標準として構成します。実際のメモリの量に関係なく、必要なプログラムをすべてコンパイルし、実際に使用されていないプログラムをスワップアウトして使用します。ディスクバッファリング用にメモリを解放しました。

それに比べて、32GBのラップトップには64GBのスワップがありますが、これは少しやり過ぎですが、ゆっくりとでも常に動作し続け、複数のメモリを消費する仮想マシンを実行することを確認したかったのです。予想外の効果は、32GB以上のメモリ範囲がある場合に、休止状態(32GBのメモリをリロードする)から再開すると、コールドブートよりも著しく遅くなることです。

0
iheggie