web-dev-qa-db-ja.com

スワップを永久にオフにするにはどうすればよいですか?

スワップを使用するとシステムがすべて遅くなり、オフにするとすべてがスムーズになります。 3.5 GBのRAMがあります。

ターミナルにSudo swapoff -aと入力してスワップをオフにする方法を知っていますが、これは現在のセッションのためのものです。再起動後にスワップがオンに戻るためです。スワップを永久にオフにする方法はありますか?

64
Alex Li

より安全なアプローチを提案できますか?スワップがクラッシュからあなたを救うことができるとき、あなたは決して知りません。スワップは実際にコンピューターの速度を低下させますが、RAMをすべて消費するプログラムを使用している場合、スワップ機能を使用するとハードリブートから節約できます。コンピューターがスワッピングを開始すると、問題のアプリケーションに気付き、強制終了できます。

したがって、スワップを完全に無効にする代わりに、OSがveryめったにスワップしないようにしてください。これは、vm.swappiness/etc/sysctl.conf設定によって制御されます。 Ubuntuのデフォルト設定は60です。これは、ほとんどの状況では多すぎるため、RAMがまだ使用可能であっても、スワップを開始します。この値を小さくすると、緊急時のみに使用しながら、スワップの安全ラインを維持することができます。そのため、ファイルを開きます。

Sudo nano /etc/sysctl.conf

そして、次の行を追加します:

vm.swappiness=10

それでも多すぎる場合は、10を1に変更します。再起動後、絶対に必要な場合にのみスワップし、簡単に忘れることができます。

117
terdon

/ etc/fstabでswapを参照している行を見つけてコメントします。私のようなもの:

UUID=6880a28d-a9dc-4bfb-ba47-0876b50e96b3 /               ext4    errors=remount-ro 0       1
UUID=7350e6f2-e3a7-4d80-9a95-8741c7db118f /home           ext4    defaults        0       2
UUID=E2E26AD1E26AAA0D /media/windows  ntfs    defaults,umask=007,gid=46 0       0

# Swap a usb extern (3.7 GB):
#/dev/sdb1 none swap sw 0 0

このファイルはgeditで編集できます。念のため、最初にバックアップします。

Sudo cp /etc/fstab /etc/fstab_backup
gksu gedit /etc/fstab

スワップがある行の先頭に#を追加して、コンピューターを再起動します。

または

/etc/fstabファイルのスワップエントリをコメントアウトするコマンドラインの方法を試してください。

Sudo sed -i.bak '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
46

Fstabからエントリを削除(または行の前に#を使用してコメント)し、再起動します。 「スワップ」という単語が含まれている行を探します。

Sudo nano /etc/fstab
13
mdalacu

間違った.. systemdがドライブ上でSWAPパーティションを見つけると、とにかくそれを自動マウントします。 systemdについて誰も言及していないのは奇妙です。とにかく、ソリューションは非常に簡単です。スワップを永続的に無効にするには、以下を行う必要があります。

  1. スワップオフ-a
  2. / etc/fstabを編集し、スワップエントリがあればコメントします。
  3. 実行:Sudo systemctl mask dev-sdXX.swap(XXはスワップパーティションです。他のドライブにスワップパーティションがある場合、マウントされないように、可能なすべてのパーティションに対して実行すると便利です)

ピースアウト。

9
Zibri