スワップスペースの経験則では、物理RAMの容量を2倍にすることが多くの箇所を読んでいます。ただし、32 GBは大したことではないようです。そんなに必要ですか?この大量の物理RAMで必要なのでしょうか?
スワップスペースの経験則では、物理RAMの容量を2倍にすることが多くの箇所を読んでいます。ただし、32 GBは大したことではないようです。そんなに必要ですか?この大量の物理RAMで必要なのでしょうか?
回答:
それは完全にあなたがマシンで何をするかによって異なります。たとえば、Sapサーバーの場合は、はい、32 GBのスワップを追加します(128 GBのRAMと32 GBのスワップで動作するボックスがあります)。大量の写真やビデオを操作している場合は、少し交換するのが理にかなっています。32GBはおそらく過剰です。
しかし、私はゼロスワップとは言いません。
まれに、RAMを使い果たした場合-おそらく大きなファイルを開いて、Firefoxで長時間実行されているタブをperhepsすることは重要ではありません。そのような状況では、アプリケーションが強制終了されるとデータが失われる可能性があります。ただし、少しのスワップがある場合は、システムが続行し、スワップを取得してシステムの続行を許可します。重いスワッピングが発生するとシステムの速度が低下し、すべてのスワップが使い果たされる前に気づき、調査します。また、ディスクは非常に安いので、なぜスワップがないのですか?
コンピュータで実際に何をしているのかを尋ねずに「スワップは必要ありません」と言う人は誰でも仮定を立てています。RAMを消費するコンピューターではほとんど何もしないかもしれませんが、スワップを「必要としない」という急な判断を下す前に、RAMを使用する計画について質問することをお勧めします。私の愚見で
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
ああ。この投稿の答えは非常に間違っています。これは、「どのくらいのスワップ?」というGoogle検索の最初の結果の1つとして出てきます。
まず、参照の良い点はUbuntu Swap FAQです
このFAQはここで誰も言及していないという重要なポイントを作ります、そしてそれは(強調鉱山)です
大規模なプログラム(OpenOffice、Neverwinter Nights、ビデオエディターなど)により、システム全体に追加のメモリが必要になる場合があります。これらの大規模プログラムが起動時に使用するかなりの数のページは、初期化にのみ使用でき、その後は使用できません。システムはこれらのページをスワップアウトし、他のプログラムやディスクキャッシュのためにメモリを解放できます。このような場合、スワップを使用して、システムが余分な負荷を処理できるようにします。
そのため、スワップは休止状態だけではありません!未使用のページをスワップアウトするこのアクティビティは、一部のシナリオでは有益であり、他のシナリオでは有害な場合があります。システムが他の場所で使用するためにメモリを解放できるため有益ですが、そのスワップアウトが攻撃的であり、実際に必要なページをスワップアウトすると有害です。これは、アプリケーションが長時間アイドル状態になる可能性のあるデスクトップシステムで特に当てはまりますが、ユーザーは、アプリケーションを元の状態に戻すとすぐにパフォーマンスを期待します。これがどれほど攻撃的であるかの制御は、swapinessと呼ばれます。
Ubuntu Swap FAQでは、スワップピネスとは何かについて簡単に説明しています。どのように変更しますか?Ubuntuシステムのデフォルト値は60ですが、FAQではデスクトップマシンの値として10を推奨しています。
したがって、システムの特定の非常に特定の使用シナリオを知っていて、結果を非常に認識していない限り、一部の人々がこの質問で推奨しているように、スワップスペースがまったくないシステムを持たないことが一般的に非常に重要だと思います持つことができた。(個人的には、スワップなしでシステムを実行する状況はありません)スワップなしのメモリ不足シナリオでは、システムはプロセス(通常はOOMを引き起こしたプロセス)の強制終了を開始します。
おそらくない。コンピューターの休止状態(ディスクへのサスペンド)を計画している場合は、少なくとも16 GBが必要です。休止状態にならない場合は、数ギガバイトのスワップを許可すれば十分です(最大4〜8)。
経験から私はこれを言うことができます:
私が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スイート全体を使用しました。スチームでプレイしたこともあり、これらのシナリオではスワップは使用されませんでした。もちろん、何らかの方法でラムの全量を使用することになった場合、最終的には使用されますが、一般に、ラムが多いほど、必要なスワップは少なくなります。
ちょうど私の2セント。
いいえ、ディスクへのサスペンドなどの機能を使用しない限り、32 GBは必要ありません。
ほとんどの場合、私はあなたがまったく必要としないと思います。おそらく、非常に大きな画像ファイル、または多くのRAMを必要とする他のアプリを編集する場合、いくつか必要になるかもしれません。
私のシステムであなたのものと同様に使用されたものを見たことはありません。実際、一時的に1週間または2週間誤って無効にしましたが、問題に気付くことはありませんでした。ただし、主に1TBを超える空き容量があるため、スワップドライブ用に約5GBを維持し、すべてのスペースをそのまま使用するわけではありません。
休止状態を使用する場合、RAMの量と同じ量のスワップを保持しても安全です。
スワップの量に関する一般的な経験則については、こちらをお読みください。
https://help.ubuntu.com/community/SwapFaq
あなたの場合、RAMに合わせて4 GBで十分だと思います。
休止状態を使用したい場合にのみスワップが必要です。これはハードドライブのスペースの無駄です。
sudo swapoff -a
てからラップトップをスリープさせて実験することができます。
4GBのRAMとUbuntu 16.04を搭載したラップトップを持っています。起動後、約1GBのRAMを消費し、それでもInkscape(たとえば)は実行されません(システムモニターは50%以上の空きRAMを表示します)。 Inkscapeがフリーズ するスワップファイルを適用すると、1バイトのスワップが使用されていなくても、期待どおりに実行されます。 そのため、スワップパーティション(またはスワップファイル)をお勧めします。サイズについては、david6ルールを使用できます。
UbuntuのSwapFaqから:
メモリを消費するプログラム場合によっては、大規模なプログラム(LibreOffice、Neverwinter Nights、ビデオエディターなど)により、システム全体に追加のメモリが必要になることがあります。これらの大規模プログラムが起動時に使用するかなりの数のページは、初期化にのみ使用でき、その後は使用できません。システムはこれらのページをスワップアウトし、他のプログラムやディスクキャッシュ用にメモリを解放できます。このような場合、スワップを使用して、システムが余分な負荷を処理できるようにします。
ハイバネーション(ディスクへのサスペンド)ハイバネーション機能(ディスクへのサスペンド)は、マシンの電源を切る前にRAMの内容をスワップパーティションに書き出します。したがって、スワップパーティションは少なくともRAMサイズと同じ大きさでなければなりません。現在Ubuntuで使用されている休止状態の実装であるswsuspには、スワップまたはサスペンドパーティションが必要です。アクティブなファイルシステムではスワップファイルを使用できません。
不測予測不可能な事象が起こるとされますすることができます(プログラムはクレイジー行く、あなたが思ったよりもはるかに多くのスペース、またはイベントのその他の予測不可能な組み合わせを必要とするいくつかのアクション)。このような場合、swapを使用すると、何が起こったのかを把握したり、作業を完了したりするための余分な遅延が発生する可能性があります。
メモリ使用量の最適化機械的なハードドライブはRAMよりかなり遅いため(SSD-ソリッドステートドライブ-ストレージは物理ドライブほど遅くはありませんが、それでもRAMよりは遅いです)、ファイルが必要な場合(ビデオのようなデータファイル、 Firefoxなどの実行可能ファイル、またはライブラリ)、LinuxカーネルはファイルをRAMに読み込んでそこに保持します。そのため、次に必要になったときに既にRAMにあり、データアクセスがはるかに高速になります。ディスクの読み取りを高速化するRAMの部分は、「キャッシュメモリ」と呼ばれます。応答性の面で大きな違いが生じることに気付くでしょう。Linuxカーネルは、プログラムによって予約されたRAM(実際には使用されていない)をスワップに自動的に移動するため、キャッシュメモリを拡張するというより良い目的に役立ちます。
スワップパフォーマンスの最適化スワップスペースはディスクデバイスを使用するため、システム自体もスワップ操作に必要な同じディスクデバイスを使用している可能性があるため、これにより、スワップスペースを大幅に使用するシステムでパフォーマンスの問題が発生する可能性があります。この問題を軽減する1つの方法は、別の物理ドライブにスワップスペースを確保して、そのリソースに対する競合を軽減または排除することです。
物理メモリ(RAM)が1 GB未満の場合、スワップスペースは基本的にRAMの量と同じにすることを強くお勧めします。また、システムの利用可能なハードディスク容量に応じて、スワップスペースは最大のRAM容量の2倍にすることをお勧めします。
最新のシステム(> 1GB)の場合、スワップ領域は、「休止状態を使用する場合」の物理メモリ(RAM)サイズと少なくとも等しくなければなりません。そうでない場合は、最小のround(sqrt(RAM))と最大RAMの2倍の量。実際に使用するよりも多くのスワップ領域を持つことの唯一の欠点は、それのために予約するディスク領域です。
「収益の減少」とは、RAMサイズの2倍以上のスワップスペースが必要な場合は、ハードディスクドライブ(HDD)アクセスがRAMアクセスよりも約10³遅いため、RAMを追加することをお勧めします。突然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
私はあなたがそれを逆に手に入れたと思う。SWAP勧告では、最大16GBが必要です。したがって、SWAPは実際のRAMサイズの1/2でなければなりません。しかし、それでもまだたくさんのスペースがあります。必要なものに依存します。"hibernate"を使用しない場合、ディスク領域に余裕がある場合は、約4〜8 GBを維持してください。16GBを持っているので、強力なリソースを必要とするコンピューターを使用している可能性があります... 16GBから32GBのSWAPも同様に有益かもしれません。
2GB RAMと1GB SWAPがあります。私はそれで大丈夫ですが、それは私の意見です。他のコメント/提案を見て、彼らの言うことを見てください。
ここで引用するための参照を見つけることができませんでしたが、RAM内のデータ全体をスワップアウトする必要があるアプリケーションを使用する場合、「RAMサイズ+128 MB」または「1.25倍のRAMサイズ」(iどちらが正しいか忘れてしまった)RAMが2 GB以上あると仮定します。RAMが2GB以下の場合、スワップとして2倍のRAMサイズを使用することをお勧めします。IBMのドキュメントに基づいて、IBM AIXの以前の組織でこの推奨事項に従いました。RAMがメモリにロードされるデータを処理するのに十分ではない場合、スワップの使用はRAMからデータを安全に移動するため、これはほとんどの* nixに当てはまると思います。「free」コマンドを使用して、実際に使用されているスワップの量を評価できます。
私はMacラップトップを持っています。Windowsよりも優れていますが、メモリを維持すると、特にブラウザでメモリが忍び込みます。そのため、最終的にはメモリがいっぱいになります。他の人が指摘しているように、スワップがあれば、生き残り、気づき、何かを殺すことができます。しかし、もっと重要なのは、スワップがある場合、一部のページがスワップアウトされ、続行できることです。
したがって、マシンを長時間放置することを計画している場合、スワップはゾンビジャンクからメモリを解放する便利な方法です。確かに、16gを3gbで埋めるよりも時間がかかりますが、それでもいいです。この目的のために、4Gbで対応します。
非常に大きなファイルを作成している場合、たとえばラップトップで機械翻訳システムを作成している場合(そうですね、どうしてそんなことをしたいのですか?私の教授は私を作っていると言えます;-))答え確かにそうです。実際のところ、現時点では32GBのスワップにしないことを後悔しています。
Ubuntuをオフィスやインターネットでカジュアルに使用する場合、2 GBのスワップも使用することはありませんが、実際には明確な答えはありません。すべてはコンピューターで何をするかによって異なります。
メモリを使い果たしたときにプログラムを実行できないのではなく、システムの速度を著しく低下させるために、スワップ領域を大幅に増やすもう1つの理由を述べた人はいないようです。障害時にリダイレクトするロードバランサーを前に持っている場合、スワップを小さく(1GBなど)したい場合があります。最初にプログラムの速度を落とす場合は、4GB +メモリサイズの平方根を検討します。物事が死ぬ前に本当に遅くするために、1.25時間のメモリサイズの最小値を維持します(せっかちな人間が最初にupめない限り-これはバックグラウンドジョブに適しています)。
開発マシンと本番マシン用に1GBを標準として構成します。実際のメモリの量は問題ではありません。必要なプログラムをすべてコンパイルし、実際に使用されていないプログラムをスワップしてディスクバッファリング用にメモリを解放しました。
それに比べて、32GBのラップトップには64GBのスワップがありますが、これは少しやり過ぎですが、ゆっくりとでも常に動作し続け、複数のメモリを消費する仮想マシンを実行することがわかっていました。予想外の効果は、32GB以上のメモリ範囲がある場合で、休止状態(32GBのメモリをリロードする)からの再開がコールドブートよりも著しく遅いことです。
いいえ、32GBは絶対に必要ありません。デスクトップシステムのルールとして、スワップは4GBと物理RAM +数GBの間にあるべきだと思います。したがって、16GBの物理RAMの場合、スワップはおそらく4GBから18GBになります。
スワップスペースにスワップする必要があるものは、常駐するアプリケーション、つまり、使用中に実行を継続するシステムサービスとアプリケーションで使用される物理RAMの量にほぼ等しくなります(一度実行するタスクとは対照的)終了します)。デスクトップシステムでは、ブラウザ、ワードプロセッサ、電子メールプログラム、グラフィックス、またはビデオエディタを開いたままにして、他の作業を行っているとします。それらは2GB以上、おそらく4GB以上を簡単に占有します。したがって、おそらく6GBのスワップが適切です。
一般的なルールとして、必要な数GBを超えても問題はありません。スワップは通常、大量のRAMがある場合は使用されませんが、一部のプロセスが過剰な量を使用している場合に役立ち、システムがプロセスを強制終了するのを防ぐことができます。
注:OSの休止状態を使用する場合は、前述のように16GBがすべて必要になりますが、最近のコンピューターは休止状態の恩恵をあまり受けません。高速SSDを使用している場合、起動は休止状態から再開するよりも高速または高速である可能性があり、スリープモードでは休止状態からのエネルギー使用が大きな要因ではないため、現代のコンピューターは無視できるほどのエネルギーしか使用しません。