[server] Linux에서 스왑을 비활성화하는 가장 좋은 방법

사용자 정의 컴파일 된 3.18.9 커널을 실행 중이며 시스템에서 스왑을 비활성화하는 가장 좋은 방법이 궁금합니다. 차이가 나는 경우에도 init을 사용합니다.

/etc/fstab부팅시 스왑이 작동 / 마운팅되지 않도록 스왑 라인을 주석 처리하거나 제거하는 것으로 충분 합니까, 또는 커널 Support for paging of anonymous memory (swap)이 활성화되지 않았는지 100 % 확신 하지 않고 커널을 다시 컴파일해야 합니까?

암호화 된 파티션을 실행하고 하드 디스크에 실수로 누출되는 것을 방지하려고합니다. 내 시스템 사양도 스왑이없는 환경에서 살아남을 수있을만큼 훌륭합니다.



답변

  1. 로 구성된 스왑 장치 및 파일을 식별하십시오 cat /proc/swaps.
  2. 로 모든 스왑 장치 및 파일을 끕니다 swapoff -a.
  3. 에서 찾은 일치하는 참조를 제거하십시오 /etc/fstab.
  4. 선택 사항 : 1 단계에서 찾은 스왑 장치 또는 파일을 제거하여 재사용을 방지하십시오. 민감한 정보 유출에 대한 우려 때문에 일종의 안전한 와이프 수행을 고려할 수 있습니다.

남자 교체


답변

스와핑을 사용하지 않으려는 경우 (참고 : 실제 RAM이 충분하다고 확신하는 경우에도 권장 되지 않음) 다음 단계를 수행하십시오.

  1. run swapoff -a: 이것은 즉시 스왑을 비활성화합니다
  2. 스왑 항목을 제거하십시오 /etc/fstab
  3. reboot시스템. 스왑이 사라지면 좋습니다. 어떤 이유로 든 여전히 존재하는 경우 스왑 파티션을 제거해야합니다. 반복은 그 후, 사용, 1 단계와 2 단계 및 fdisk또는 parted제 (사용되지 않은) 스왑 파티션을 제거 할 수 있습니다. 여기에 큰 관심을 사용하여 잘못된 파티션을 제거하면 비참한 영향을 미칠 것입니다!
  4. reboot

답변

예전에는 스왑 파티션 만 /etc/fstab자동으로 사용되었지만 systemd는 약간 변경되었을 수 있습니다. 다음을 수행해야 할 수도 있습니다.

systemctl mask dev-sdXX.swap

(sdXX 변경) 실제 포맷 된 스왑 파티션으로 바꾸십시오. 스왑 파티션을 사용하지 않으려는 이유는 무엇입니까?

systemd를 사용하지 않는 경우 스왑 항목을 제거하는 /etc/fstab것으로 충분합니다 (내가 아는 한).

실제 해결책은 스왑 파티션을 제거하는 것이므로 실수로 사용되지 않습니다. 스왑 파티션을 제거하려면 fdisk를 사용하여 파티션 유형을 스왑에서 다른 것으로 변경 한 다음 파티션을 다시 포맷하거나 사용하십시오
dd if=/dev/zero of=/dev/old-swap-partition.

systemd로 스왑 파티션 사용 설정을 참조하십시오 .


답변

Raspbian 에서 / etc / fstab 파일을 볼 때

a swapfile is not a swap partition, no line here
  use dphys-swapfile swap[on|off] for that

그러나 사전 구성된 스왑 파일을 완전히 비활성화하려면 완벽하게 작동합니다.

swapoff -a
chmod -x /etc/init.d/dphys-swapfile
reboot

이 솔루션은 나에게 약간 빠르고 더러워 보이지만 간단히 다음과 같이 다시 활성화 할 수 있습니다.

chmod +x /etc/init.d/dphys-swapfile
reboot


답변