Debian でスワップを永久に無効にします。

Debian でスワップを永久に無効にします。

/etc/fstabすべてのガイドでは、再起動時にスワップがインストールされるのを防ぐために、行をコメントアウトしてスワップを永久に無効にすることを提案しています。しかし、これは Debian 11 では動作しません。

例:

sudo swapoff -a完璧に動作しますが、再起動後も持続しません。

コメント化された行を含むfstabファイルの例:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=6b762cb8-b92b-489a-98cf-2bf200e3c4ae /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=4847-3887  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
# UUID=b9aeb506-ad7d-488d-b2b9-7c68dff21906 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

手動

スワップを手動で終了した後:

sudo swapoff -a

lsblk

スワップパーティションはまだマウントされていますが、もはやスワップとしてリストされていません。スワップが無効になっています。

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   127G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 125.5G  0 part /
└─sda3   8:3    0   976M  0 part
sr0     11:0    1  1024M  0 rom

EditFstab

fstabファイルを編集してsudo systemctl daemon-reloadシステムの再起動を実行および実行した後でも、スワップはまだ存在します。

lsblk -o +PARTTYPE

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT PARTTYPE
sda      8:0    0   127G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi  c12a7328-f81f-11d2-ba4b-00a0c93ec93b
├─sda2   8:2    0 125.5G  0 part /          0fc63daf-8483-4772-8e79-3d69d8477de4
└─sda3   8:3    0   976M  0 part [SWAP]     0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
sr0     11:0    1  1024M  0 rom

明らかに一歩を踏み出した。

答え1

systemdによって有効になります。man systemd-fstab-generatorとを参照してくださいman systemd.swap

ArchiLinux Wiki:systemdによって有効

システムスワップパーティションは、2つのメカニズムに基づいてアクティブになります。どちらも /usr/lib/systemd/system-generators にある実行可能ファイルです。ジェネレータは起動時に実行され、インストール用の基本システムデバイスを作成します。 1つ目はsystemd-fstab-generatorで、fstabを読み込んでスワップ用の単位を含む単位を作成します。 2番目のsystemd-gpt-auto-generatorはルートディスクをチェックしてセルを作成します。 GPTディスクでのみ実行され、GUIDタイプでスワップパーティションを識別できます。systemd#GPTパーティションが自動的にマウントされるより多くの情報を知りたいです。

スワップの無効化

特定のスワップ領域を無効にするには:

# swapoff /dev/sdxy

または -a スイッチを使用してすべてのスワップ領域を無効にします。

スワップは systemd によって管理されるため、次回のシステム起動時に再び有効になります。。検出されたスワップ領域の自動有効化を永久に無効にするには、systemctl --type swap担当.swapデバイスの検索を実行します。そして覆って

ヘルスチェック:

systemctl status *swap

または:

systemctl --type swap

その後、サービスを無効にします。

sudo systemctl mask  "dev-*.swap"

答え2

systemdはデフォルトでサイレントモードにあり、有効にするためにfstabは必要ありません。

systemd-gpt - 自動ジェネレータroot、/home/、/srv/、/var/、/var/tmp/、EFIシステムパーティション、および拡張ブートローダパーティションを自動的に取得できるユニットジェネレータです。そしてスワップパーティション

ジェネレータは、別々の管理オーバーレイディレクトリに隠すことができます。

/etc/systemd/system-generators/systemd-gpt-auto-generator -> /dev/null

systemd.gpt_auto=no起動パラメータは同じ効果を持つ必要があるためです。

マニュアルページは続きます:

systemd-gpt-auto-generatorは、パーティションテーブルのファイルシステム構成を一元化するのに役立ちます。 /etc/fstabまたはカーネルコマンドラインから不要

fstab-generator2番目に/上書きすることができます。しかし、あなたがスワップについて言及したので、gpt-autoがスワップをオンにしていると思います。

sda3いいえ無視してインストール。パーティションレベルと同様にlsblk機能します。エントリポイントはマウントポイントと同じです。fdisk -l[SWAP]

swapon --showスワップファイルと複数のスワップを持つことも可能ですので、お試しください。

答え3

あなたは変わらなければなりません仮想マシンの切り替え可能性Linuxカーネルパラメータを永久に変更する/etc/sysctl.conf文書。そしてシステムを再起動してください。

デフォルト値は次のとおりです。仮想マシンの切り替え可能性はい60そしてスワップを有効にする前の空きメモリの割合を示します。。値が小さいほどスワップが少なくなり、物理メモリにメモリページが増えます。

Debianシステムでスワップを永久に無効にするには:

  • 編集する/etc/sysctl.confファイルファイルを削除し、ファイルがない場合はファイルの末尾に追加します。VM.swappiness = 0
  • システムを再起動してください
# edit /etc/sysctl.conf file
~] vi /etc/sysctl.conf 

# disable swap
# add to end of file if not present:
vm.swappiness = 0

# reboot for changes
~] systemctl reboot

これはガイドですLinuxでスワップを永久に無効にする方法

答え4

欠落しているステップは、initramfsファイルのコピーも最新であることを確認するためにsudo update-initramfs -u変更後に実行できます。/etc/fstabfstab

そうしないと、システムがinitramfsで実行され続けている間、起動プロセスの最初にスワップが有効になる可能性があります。これが発生した場合は、後で無効にする開始プロセスステップはありません。

関連情報