데비안에서 동적으로 증가하는 스왑 파일


10

스왑 파일을 만들고 스왑으로 사용하는 방법을 알고 있습니다. 그러나 스왑 사용 여부에 따라 파일 크기를 미리 구성해야하며 공간이 디스크에서 사용됩니다.

초기 크기가 0이고 필요에 따라 증가하는 스왑을 만들려면 어떻게해야합니까?


@Gilles : 궁금한 점이 있습니다. 오타를 제외하고 제목을 편집 한 이유는 무엇입니까? 여기에서 완전히 발음 된 질문을 원하지 않습니까?
rubo77

1
쓸모없는 단어, 특히 사람들이 가장주의를 기울이는 제목의 시작 부분을 피하는 것이 좋습니다. 좋은 제목을 쓰려면 어떻게합니까?를 참조하십시오 . . "동적으로 성장하는 스왑"은 필수 아이디어를 제공합니다. "어떻게 만들지"가 질문의 내용을 나타 내기 시작하지 않습니다. 질문이기 때문에 질문 제목 질문을하는 것을 선호하는 사람들이 있지만 어리석은 이유입니다. 제목은 답변의 제목이기도합니다.
Gilles 'SO- 악마 그만해'

답변:


3

스왑 스페이스는 오래되었고 유지 보수되지 않았으며 언젠가는 현대 시스템에서 문제를 일으킬 수 있습니다. 동적 스왑을위한 최상의 솔루션은 다음과 같습니다.

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

다음 설정 CONF_SWAPFACTOR=2에서 /etc/dphys-swapfile마지막으로

sudo service dphys-swapfile start

이것은 작동하지만 스왑없이 더 좋을 수 있음을 명심하십시오. unix.stackexchange.com/a/136133/20661
rubo77

10

SwapSpace 는 운영 체제의 요구 사항에 따라 크기를 변경하는 '동적 스왑 파일'을 생성하는 유틸리티입니다.

따라서 가상 스왑 파일 생성을 잊고“SwapSpace”만 설치하면 자동으로 생성되어 필요할 때 크기가 조정됩니다.

수동으로 생성 된 스왑 파일과 함께 '스왑 공간'을 나란히 사용할 수 있으며 수동으로 스왑 파일을 채울 때 '스왑 공간'이 자동으로 OS에 대한 다른 스왑 파일을 생성하므로 OS에 항상 스왑 공간이 있으며 안정성이 향상됩니다.

“SwapSpace”의 또 다른 유용한 점은 가능할 때마다 SwapSpace의 크기를 줄이고 해당 바이트를 사용자 파일 시스템으로“릴리스”하고 개발자에 따르면 이러한 감소는 스왑 파일의 성능을 높이는 데 도움이된다는 것입니다 ( "귀중한"HDD 공간도 낭비되지 않습니다).

함께 설치

sudo apt-get install swapspace

구성 파일을 필요에 맞게 조정하십시오. 08GB HDD로 VM 데비안 컴퓨터 에서 최소를 설정했습니다.


또한 VM에서 소중한 HDD 공간의 사용을 최소화하기 위해 swappiness 를 설정했습니다 0.

시스템 교환 값을 변경하려면 /etc/sysctl.conf루트로여십시오. 그런 다음이 줄을 파일에 변경하거나 추가하십시오.

vm.swappiness = 0

(변경 사항을 적용하려면 재부팅)


생성 된 스왑 파일의 크기가 이미 RAM 덤프를 포함 할만큼 충분히 크지 않으면 스왑 파일에 대한 swsusp / suspending을 지원하지 않습니다.
soze

그렇다면 스왑 파일이 램을 포함 할 수있을 정도로 커질 수있는 방법은 무엇입니까?
rubo77

일시 중단을 위해 하나의 고정 크기 스왑 파일을 RAM 크기로 설정 한 다음 동적 크기의 스왑을 위해 swapspace를 사용하십시오.
Tom Hale

그것은 나를 위해 일했다. 작은 SSD 디스크에 매우 유용합니다.
Adrian Lopez

0

예를 들어 fdisk를 사용하여 만드는 스왑 파티션 인 Afaik은 기존 디스크에서 공간을 수정하고 다른 곳으로 재 할당 할 때 0보다 큰 공간이 필요합니다.

어쨌든 질문에 대답하면 작은 파티션을 쉽게 만들고 fdisk에서 스왑으로 할당 한 후 다음과 같이 할 수 있습니다.

1) 스와핑 비활성화 swapoff -v 2) 파티션 크기 조정 lvresize 3) 다음과 같이 파티션 포맷 mkswap 4) 스왑 공간을 다시 활성화swapon -v

이후 cat /proc/swaps에 업그레이드 여부를 확인할 수 있습니다 . 시스템 사양에 따라 스크립트에서이를 쉽게 사용하고 스왑 공간을 늘려야 할 때마다 필요할 때이를 실행할 수 있습니다. 다음과 같은 것 :

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1

1
스왑 크기는 요청 시가 아니라 수동으로 변경되므로 질문에 대답하지 않습니다. 또한 LV 크기를 조정하는 것은 유용하지 않습니다. 성장할 공간은 어디입니까? 수축시 여유 공간이 어떻게 낭비되지 않습니까? 이 질문은 여유 공간 문제를 해결하는 스왑 파일에 대해 묻습니다. 다른 파일에서도 사용할 수 있습니다.
Gilles 'SO- 악마 그만해'

요청시 스왑 크기를 변경하는 것이 좋지만 스왑 공간은 최대 절전 모드를 지원하는 데 사용되는 swsusp 시나리오를 다루지 않습니다. 최대 절전 모드 지원이 필요한 사용자에게는이 답변이 더 깔끔 할 수 있다고 생각합니다. 물론 스왑 공간이 더 잘 처리 할 때까지.
soze
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.