- スワップパーティションの目的は何ですか?
- ちょうど十分なスワップパーティションがあることを知るにはどうすればよいですか?少なすぎる/少なすぎません。
私のUbuntu PCは典型的なものに使用されます:
- Web(電子メール、Facebookなど)
- いくつかの映画
- ゲームはまれです
私のUbuntu PCは典型的なものに使用されます:
回答:
スワップパーティションにはいくつかの目的があります。
「バックアップ」RAMとして機能します。つまり、コンピューターがRAMを使い果たした場合、スワップ領域をより多くのメモリの一時的なソースとして使用します。具体的には、未使用のアイテムをRAMからスワップ領域に「スワップ」して、その時点でそれを必要とするアプリケーション用にスペアスペースを残します。これは、ハードドライブへのデータ転送速度が通常のRAMへの転送速度よりも著しく低いため、理想的ではありません。実際には、これはスワップ領域から情報を取得するのがはるかに遅いことを意味します。
コンピューターが休止状態になるときに使用されます。ハイバネーションでは、現在の状態のRAMのイメージを取得し(ISOがイメージを表すように)、スワップ領域に保存します。その後、コンピューターの再起動時にこのイメージを再読み込みします。
最も有用であるためには、スワップ領域は少なくとも(RAM * 1.5)である必要がありますが、それ以上をお勧めします。たとえば、3GBのRAMを搭載したシステムでは、7.2GBのスワップ領域があります。
これは、スワップパーティションの「適切な」サイズに関するこの質問とほぼ同じです。私の答えからの同じ情報の多くが適用されます-基本的に、休止状態にしたい場合は、一般的にスワップスペースを少なくともRAMと同じ大きさにしたいのですが、それ以外は1または2GBのようなラウンド数で十分です。スワップはRAMよりも非常に遅いため、数ギガバイトのスワップを埋めると、コンピューターはほぼ確実に使用できなくなります。
スワップパーティションも実際には必要ありません。スワップファイル(メインストリームLinuxファイルシステムで利用可能)は同じパフォーマンスを提供し、十分な容量がないと判断した場合はスワップスペースを簡単に追加できます。
この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秒間はスワップをまったく使用していません。
次のコマンドを使用して、使用済みおよび使用可能なスワップ領域を確認できます。
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda10 partition 7812092 16 -1
遅いハードドライブを搭載したラップトップを持っていますが、比較的高いRAM(8GB)を持っています。このセットアップでは、次の理由でスワップドライブが逆効果になることがわかりました。
アプリケーションをスワップから復帰させるのは遅く、アプリケーションをゼロからロードするのに匹敵します。予期せず停止することがある環境よりも、アプリケーションを閉じてリロードする必要がある場合でも、迅速に応答する環境が必要です。
休止状態にする機能が必要な場合は、大量のデータをディスクに書き込むことを意味します。それは一定になるバッテリーの消耗、それが持続的に(のデフォルトの動作で行われた場合swappinessを 60)、またはそれだけ(swapinessを減らすことによって)休止時に行われた場合、それは実際に休止状態に長い時間がかかるだろう。ディスクにサスペンドするのではなく、RAMにサスペンドすることで十分なことがわかりました。数日間中断されたままになる可能性があり、完全な休止状態よりもはるかに迅速に中断解除されます。
ハードドライブは低速であるため、1GBのRAMをディスクキャッシュ用に確保しておき、速度を上げるためにメモリを効率的に交換することを好みます。これにより、マシンの動作が速くなりますが、アプリケーション用に8GBのRAMのうち7GBしか使用できません。私がそれを達成するために使用するソフトウェアは、RAMの88%が使用されたときに古いブラウザタブを強制終了するEarlyoomのフォークです。時々、削除された古いブラウザのタブをリロードする必要があります。
このアドバイスはいつ適用されませんか?
あなたが持っている場合は高速なハードディスクドライブ、またはSSDをし、電池の消耗についての少数の懸念を持っているし、私は上記で概説した欠点は適用されません。(初期のSSDには摩耗の問題があるかもしれませんが、2018年以降に販売されたSSDは問題ないはずです。)
マシンのRAMが非常に少ない場合、またはメモリを大量に消費するアプリケーションを同時に使用する場合は、デメリットに関係なく、スワップを使用して作業を完了する必要があります。これは、メモリが安価になり始める前の、スワップの主な使用例でした。
休止状態が本当に必要な場合(おそらくラップトップをサスペンドし、充電せずに数日後に再び開く場合)、スワップドライブが必要です(少なくともRAMと同じサイズを推奨)。
警告: