/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-generator
2番目に/上書きすることができます。しかし、あなたがスワップについて言及したので、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/fstab
fstab
そうしないと、システムがinitramfsで実行され続けている間、起動プロセスの最初にスワップが有効になる可能性があります。これが発生した場合は、後で無効にする開始プロセスステップはありません。