スワップを完全にオフにしても安全ですか?


54

特に、Firefox / ChromiumやVirtual Machinesなどのブラウザを使用している場合、システムが遅くなりました。少なくとも3.2 GBの空きRAM(Gnomeシステムモニターを使用)があり、スワップがないことに気付きました。

私が今やったことはswapoff -a、システムシステムのパフォーマンスが30%向上したことです。だから私の質問は:使用しても安全swapoffですか?PCを再起動しても安全swapoffですか?

ここに画像の説明を入力してください


1
UbuntuがRAMを完全に使用する前にスワップを使用していると確信していますか?free -mの出力は何ですか?通常、UbuntuはRAMを可能な限り使用しようとするため、スワップをオフにしても違いはありません。また、RAMが未使用でスワップが使用されることはありません。
ste_kwr

2
ただ、8GBシステムに単一のSSDを搭載したスワップはありません。
レーケンシュタイン

3
スワップをオフにすることもできますが、これは問題ないはずですが、swappinessの値を調整してください。/ proc / sys / vm / swappinessにあります。より永続的な変更を行うには、「sysctl」を使用します。注意すべきことの1つは、休止状態にスワップが必要なことです。睡眠には本当に必要ないと思いますが、休止状態には必要です。
マーキー

@kniworやった、2.5 GBのRAMの後...スワップを使用し、再起動する必要があり、その後システムが正常に動作する。&1ギガバイト後しばらくは、私のシステムが遅くなった
ワンゼロ

@私はこの5〜6回チェックした
ワンゼロ

回答:


94

Linuxカーネルは、swappinessと呼ばれるスワップファイルの使用頻度を制御する調整可能な設定を提供します

swappiness設定が0の場合、絶対に必要な場合(メモリが不足している場合)を除いてディスクが回避されます。swapiness設定が100の場合、プログラムはほぼ瞬時にディスクにスワップされます。

Ubuntuシステムにはデフォルトの60が付属しています。これは、メモリ使用量がRAMの約半分である場合、スワップファイルがかなり頻繁に使用されることを意味します。以下を実行することにより、ご使用のシステムのswappiness値を確認できます。

one@onezero:~$ cat /proc/sys/vm/swappiness
60

私は4 GBのRAMを持っているので、10または15に減らしたいと思います。スワップファイルは、RAMの使用率が約80または90%の場合にのみ使用されます。システムのswappiness値を変更するには、を開き/etc/sysctl.conf as rootます。次に、この行をファイルに変更または追加します。

vm.swappiness = 10

変更を有効にするために再起動します

システムの実行中に値を変更することもできます

sysctl vm.swappiness=10

また、同じ効果を得るために再起動する代わりに実行swapoff -aswapon -aてからルートとしてスワップをクリアすることもできます。

スワップフォーミュラを計算するには

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

合計は3950/100 = 39.5 * 10 = 395です

つまり、395 MBのRAMの10%が残ったときにスワップ性の使用を開始するということです。


11
+1これは、スワップの設定に関する優れたハウツーです。素晴らしい答え。「swapinessの設定方法」を尋ねる新しい質問を投稿し、この回答をコピーして、他の人が見つけやすいようにすることもできます。この質問に来る人々は「イエスかノーの回答を探ししようとしている、あなたはどのように-にすでに「はい」を選んだ人のためにある
トムBrossman


11
これは有用なガイドですが、質問には答えません。アスカーは知りたいと思ったことは安全であったか否かではないどのようにそれを行うには。
Fouric

2
@InkBlendさらに奇妙なことに、この非回答
underscore_d

いずれにせよ、先端に感謝します。このUbuntu lappyを使用したまったく新しい世界です。
ドン

17

恐らく。こちらのUbuntu FAQページの「スワップが必要な理由」の部分を読んで、自分で判断してください。

セーフティネットスワップが提供できる速度よりも速度を重視する場合は、無効にする必要があります。

ディスクを一時停止せず、常にシャットダウンして再起動する場合は、安全に無効にすることができます。

多くのRAMがある場合(実行中の4GB + VMが近い呼び出しです)、できます。

私の場合、SSD、8GB RAMにOSがあり、一時停止することはありません。スワップは必要ありませんし、使用中に見たこともないので、インストール時に習慣的に設定するだけです。

別の方法として、Lifehackerの Firefoxのabout:configの微調整があります。これは、ブラウザキャッシュにのみRAMを使用する方法を説明しています。試す前に、記事の下部にリンクされている反論を読んでください。


1

いいえ、安全ではありません。その理由は、システムがRAMを使い果たして、どのRAMもスワップできない場合、ハードリセット以外の回復の機会がないままフリーズする可能性があるためです。中断できるかどうかだけではありません。
ソース:私の14.04はそれを行います。

最小限のスワップスペースを確保する必要があります。数値については、Ubuntu FAQご覧ください

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