Debian에서 스왑을 영구적으로 비활성화합니다.

Debian에서 스왑을 영구적으로 비활성화합니다.

/etc/fstab모든 가이드에서는 재부팅 시 스왑이 설치되는 것을 방지하기 위해 해당 줄을 주석 처리하여 스왑을 영구적으로 비활성화할 것을 제안합니다 . 그러나 이는 데비안 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.

아치리눅스 위키:systemd에 의해 활성화됨

체계스왑 파티션은 두 가지 메커니즘을 기반으로 활성화됩니다. 둘 다 /usr/lib/systemd/system-generators에 있는 실행 파일입니다. 생성기는 부팅 시 실행되며 설치를 위한 기본 시스템 장치를 생성합니다. 첫 번째는 systemd-fstab-generator로, fstab을 읽어 스왑용 단위를 포함한 단위를 생성합니다. 두 번째 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 - 자동 생성기루트, /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두 번째로/재정의될 수 있습니다. 하지만 당신이 스왑에 대해 언급한 이후로 gpt-auto가 스왑을 켜고 있는 것 같아요.

sda3아니요무시하고 설치. 파티션 수준에서와 마찬가지로 lsblk작동합니다 . 진입점은 마운트 지점과 같습니다.fdisk -l[SWAP]

swapon --show스왑 파일과 여러 스왑을 갖는 것도 가능하므로 시도해 보십시오 .

답변3

당신은 변화해야가상 머신 전환 가능성리눅스 커널 매개변수를 영구적으로 변경/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에서 계속 실행되는 동안 부팅 프로세스 초기에 스와핑이 활성화될 수 있습니다. 이런 일이 발생하면 나중에 비활성화할 시작 프로세스 단계가 없습니다.

관련 정보