Ubuntu는 동적 스왑 파일 크기 조정을 지원합니까?


13

스왑 파일을 고정 크기로 사용해야하는 이유를 상상할 수 없습니다. 가상 상자의 하드 드라이브 이미지 파일과 같이 동적으로 크기를 조정하지 마십시오.


런타임시 전체 스왑 공간을 추가 및 제거하는 옵션을 계산하지 않으면 Linux는 동적 스왑 공간 크기를 지원하지 않습니다. (윈도우도 마찬가지입니다. 후자도 아닙니다.)
David Foerster

Mac은 동적 스왑을 지원합니까?
톰 머서

나도 몰라 내가 공부하지 않은 완전히 다른 커널입니다. Linux의 스왑 공간과 비슷할 수 있습니다. 어쨌든 OS X의 Darwin 커널에 대한 새로운 질문이나 후속 질문이 있는지 Unix & Linux에 새로운 질문을 열거 나 다른 질문을 할 수 있습니까? 의견 섹션은 새로운 질문이나 확장 된 토론에 적합하지 않습니다. :-) 감사.
David Foerster

Windows에서 @DavidFoerster를 사용하면 각 페이지 파일의 최소 및 최대 크기를 설정할 수 있으며 Windows는 필요할 때 페이지 파일 크기를 증가시킵니다. tomshardware.com/news/…
phuclv

답변:


11

Linux가 동적 스왑 파일 크기 조정을 지원하는 것처럼 보이지 않습니다 (어쨌든 스왑 파일이 swapoff/ 없이 크기가 변경되었음을 감지하지 못했습니다 swapon).

스왑 파일이이를 지원하기위한 코드를 작성할 때 파일 크기를 동적으로 변경하지 않는다고 가정하는 것이 더 쉽습니다. 나도 그것을 잘 사용하지 못합니다. 여러 개의 스왑 파일을 사용할 수 있으므로 필요에 따라 더 많은 스왑 파일을 만들 수 없습니다.

또한에서이 단락에 유의 맨 페이지를 :swapon

The  swap file implementation in the kernel expects to be able to write
to the file directly, without the assistance of the  filesystem.   This
is  a problem on preallocated files (e.g.  fallocate(1)) on filesystems
like XFS or ext4, and on copy-on-write filesystems like btrfs.

동일한 문제가 동적 크기의 스왑 파일에 적용될 것이라고 생각합니다.


이것이 사실 인 것처럼 보이고 swapspace는 동적으로 스왑 크기를 조정하지 않습니다.
Tom Mercer

2

스왑 스페이스 는 원하는 크기의 동적 스왑을 만들 수있는 유틸리티입니다. 우분투에서 사용할 수 있다고 생각합니다.


2 년 전에는 새로운 릴리스가 있었지만 우분투 용 패키지 버전 모두 고대인 것 같습니다. 얼마나 잘 작동합니까?
muru

스왑 파일을 작성하는 데 사용 된 방법이 변경되었다고 상상할 수는 없지만 확실하게 말할 수는 없습니다. 데비안에서 잘 작동합니다.
user231695

나는 새로운 공간을 만드는 것만큼이나 간단하게 귀하의 답변에 투표합니다.
user231695

나는 이것을 시도하고 다시보고 할 것입니다.
Tom Mercer

@ user231695 새로운 스왑 공간을 만드는 것은 간단하지만 끔찍하게 불편하고 솔루션으로는 완전히 작동하지 않을 수 있습니다. 사용자가 새 스왑 공간을 추가하려는 유일한 시간은 기존 스왑이 가득 찬 순간입니다. 따라서 스왑 파일의 동적 크기 조정에 대한 질문입니다.
Tom Mercer

1

나는 그것이 늦다는 것을 알고 있지만 동적 스왑을위한 가장 좋은 해결책은 다음과 같습니다.

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

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

sudo service dphys-swapfile start

스왑 크기를 동적으로 조정하지 않는 것 같습니다. RAM 크기가 2 배인 특정 크기의 스왑 파일을 초기화하는 스크립트처럼 보입니다.
Tom Mercer

파일의 의견에 따르면 @TomMercer에서 swapfactor 및 maxswap을 설정했습니다. "동적 적응"은 당신이 찾고있는 것 같습니다. 최고
Denis Pitzalis

OS를 사용하고 RAM을 채우는 동안 스왑 파일의 크기가 1KB와 16GB 사이에서 다양합니까? 이것이 "동적 크기 조정"스왑의 의미입니다. RAM 크기의 배수 인 스왑 파일을 만드는 것은 동적이지 않습니다. RAM이 가득 찰 때까지 스왑 파일을 가질 필요가 없으며 스왑 파일을 사용중인 VRAM의 크기와 정확히 일치 시키길 원합니다. 작업중인 탭이나 큰 이미지를 닫으면 스왑 파일의 크기가 동적으로 줄어 듭니다. 스왑 파일은 동적으로 자체 크기를 조정하여 항상 정확히 100 % 가득 찼습니다.
Tom Mercer

0

swapon명령 을 사용하여 스왑 공간을 실행중인 시스템에 추가 할 수 있습니다 . 기존 (사용하지 않은) 스왑 파일 / 파티션이 필요합니다. 하나를 만들려면dd 명령을 연속 파일을 할당 한 다음 mkswap파일 / 파티션에 올바른 제어 정보를 추가하십시오.

스왑 파일을 제거하려면 swapoff ; 그런 다음 파일을 삭제할 수 있습니다.

나는 그것이 무엇인지 의심 SwapSpace 그것이 @ user231695가 언급 한 것이라고 .

스왑 파일을 사용중인 경우 스왑 오프가 느리게 작동 할 수 있습니다. 모든 데이터는 다른 스왑 영역으로 전송되어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.