web-dev-qa-db-ja.com

スワップパーティションの重要性

  • スワップパーティションの目的は何ですか?
  • ちょうど十分なスワップパーティションがあることを知るにはどうすればよいですか?少なすぎる/少なすぎません。

私のUbuntu PCは典型的なものに使用されます:

  • Web(電子メール、Facebookなど)
  • いくつかの映画
  • ゲームはまれです
34
lamcro

スワップパーティションにはいくつかの目的があります。

  • 「バックアップ」RAMとして機能します。つまり、コンピューターのRAMが不足すると、スワップ領域がより多くのメモリの一時的なソースとして使用されます。具体的には、未使用のアイテムをRAMからスワップ領域に「スワップ」して、その時点でそれを必要とするアプリケーション用にスペア領域を残します。これは、ハードドライブへのデータ転送速度が通常のRAMへの転送速度よりも著しく低いため、理想的ではありません。実際には、これはスワップ領域から情報を取得するのがはるかに遅いことを意味します。

  • コンピューターが休止状態になるときに使用されます。ハイバネーションでは、RAMのイメージを現在の状態で取得し(ISOがイメージを表すように)、それをスワップ領域に保存します。その後、コンピューターの再起動時にこのイメージを再読み込みします。

  • 最も有用であるためには、スワップ領域は少なくとも(RAM * 1.5)である必要がありますが、それ以上をお勧めします。たとえば、3GBのRAMを搭載したシステムでは、7.2GBのスワップ領域があります。

15
richzilla

これは、スワップパーティションの「正しい」サイズについて この質問 とほぼ同じです。 answer there からの同じ情報の多くが適用されます-基本的に、休止状態にしたい場合は、スワップ領域を少なくともRAMと同じくらいにし、それ以外は1のようなラウンド数にしたいです。または2 GBで十分です。スワップはRAMに比べて非常に遅いため、数ギガバイトのスワップをいっぱいにすると、コンピューターはほぼ確実に使用できなくなります。

スワップパーティションも実際には必要ありません。スワップファイル(メインストリームLinuxファイルシステムで利用可能)は同じパフォーマンスを提供し、十分な容量がないと判断した場合にスワップスペースを簡単に追加できるようにします。

7
RAOF

ここ スワップに関する非常に深い情報

ラムの2倍と言う人もいますが、個人的にはこれをお勧めします:

スワップ= 1.5 X合計RAM

例:

rAMが2Gbの場合->スワップ= 1.5 x 2 = 3

P.D:Ubuntu DesktopはSwap to Hibernateを使用します(PCオフ、電源不要、プログラム状態の保存)。休止状態が重要な場合は、RAM +スワップオーバーフローよりもスワップスペースを増やしてください。

4
hhlp

freeコマンドは、使用しているスワップの量を示します。このマシンの例:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

2GB(1947m)RAMがあり、システムがそのほとんどを使用したことを示しています。ただし、I/Oバッファーには312mが使用され、残り(758m)はシステムがディスクキャッシュで一杯にすることを決定しています。

ディスクキャッシュは、コンテンツに低速ディスクではなく高速メモリを使用しているため、興味深いものです。コンテンツはディスクから取得できますが、必要に応じて保持されます。これはまた、システムが代わりにディスク上のデータを見つけることができることをシステムが知っているため、必要に応じて瞬時に回収できるメモリが758mあることを意味します。

そのため、バッファリングとキャッシュがなければ、RAM(1154m)の半分を使用できることを示す2行目があります。

3行目は、非常に大きなスワップパーティションがあり(そこにあり、何もしていなかった)、そのうち3mが使用されていることを示しています。これは、カーネルがすぐに使用する必要がないことを本当に期待しているため、「バックポーチ」に張り付いていました。

freeは今スナップショットを提供しますが、vmstatは実行中の写真を提供できます:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

そこには多くの情報がありますが、興味深いのは、スワップイン(si)またはスワップアウト(so)トラフィックがないことです。つまり、過去10秒間はスワップをまったく使用していません。

2
msw

遅いハードドライブを搭載したラップトップを持っていますが、RAM(8GB)が比較的高いです。このセットアップでは、次の理由でスワップドライブが逆効果になることがわかりました。

  1. swapからアプリケーションを元に戻すのは遅く、アプリケーションをゼロからロードするのに匹敵します。予期せず停止することがある環境よりも、アプリケーションを閉じてリロードする必要がある場合でも、迅速に応答する環境が必要です。

  2. 休止状態にする機能が必要な場合は、大量のデータをディスクに書き込むことを意味します。持続的に実行された場合( swappiness 60のデフォルトの動作)、またはそれがバッテリーの定数ドレイン (スワッピングを減らすことにより)休止状態でのみ行われた場合、実際に休止状態になるまでに時間がかかります。サスペンドは、ディスクにサスペンドする代わりにRAMであることがわかりました。数日間中断されたままになる可能性があり、完全な休止状態よりもはるかに迅速に中断解除されます。

  3. ハードドライブが遅いため、1GBのRAMをディスクキャッシュ用に予約しておき、速度を上げるためにメモリを効率的に交換することを好みます。これにより、マシンの動作が速くなりますが、アプリケーション用に8GBのRAMのうち7GBしか使用できません。私がそれを達成するために使用するソフトウェアは、 earlyoom の分岐であり、RAMの88%が使用されたときに古いブラウザタブを強制終了します。時々、削除された古いブラウザのタブを再読み込みする必要があります。

このアドバイスはいつ適用されませんか?

  • 高速ハードディスクドライブ、またはSSDがあり、バッテリーの消耗に関する懸念が少ない場合、上記で説明した欠点は当てはまりません。 (初期のSSDには摩耗の問題があるかもしれませんが、2018年以降に販売されたSSDは問題ないはずです。)

  • マシンのRAMが非常に少ない場合、または複数のメモリを大量に消費するアプリケーションを同時に使用する場合は、スワップを使用して取得する必要があります欠点に関係なく、作業を完了します。これは、メモリが安価になり始める前の、スワップの主な使用例でした。

  • 本当に休止状態が必要な場合(おそらくラップトップをサスペンドし、充電せずに数日後に再び開く必要がある場合)、スワップドライブが必要です(少なくともRAMと同じ大きさを推奨)。

警告:

  • 長時間実行し続けるソフトウェアの一部(特にOSおよびデスクトップ環境)は、実際には二度と使用されないコードをメモリにロードします。これらのページはスワップに移動することができ、二度と引き抜く必要がないため、前述の不利益を回避できます。このため、small512MBまたは1GBのスワップファイルを作成し、メモリの未使用ページをスワップアウトすることがあります。これにより、アプリケーション用にもう少しRAMが残ります。 (必要:このスワップファイルのサイズを調整するために、スワップチャーンを測定する手法。)
0
joeytwiddle
  • スワップ領域は、限られたスペースRAMメモリをサポートするために使用されるハードディスク領域の一部です。 RAMのサイズは制限されているため、一部のアプリケーションでは、使用可能なRAMスペースよりも多くのRAMが必要です。その場合、このスワップスペースは、羊。
  • RAMの速度に比べて速度が遅くなります。大きなアプリケーションを実行すると、そのアプリケーションの最も最近使用されていない部分がハードドライブのスワップ領域にスワップされ、必要なときにスワップ領域からスワップバックされます。これにより、オペレーティングシステムは実際よりも多くのRAMを持っているように感じます。
  • これは、オペレーティングシステムのインストール中に作成されるハードディスク上の専用パーティションです。
  • RAMの2倍のサイズのスワップ領域を作成するとよいでしょう。
  • 次のコマンドを使用して、使用済みおよび使用可能なスワップ領域を確認できます。

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
0
Vijesh