[리눅스] 스왚 파일을 만들어 시스템 메모리에 붙이기
무른연모/리눅스
2022/08/11 18:46
(1) 스왚 메모리로 쓸 파일을 디스크에 할당하기
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 7.27556 s, 148 MB/s
1GB(1MB × 1024) 크기로 스왚(swap) 파일이 만들어진다. 블록 크기(bs=1M)와 개수(count=1024)를 아래처럼 바꾸어 만들어도 결과는 같다.$ sudo dd if=/dev/zero of=/swapfile bs=1024K count=1024
$ sudo dd if=/dev/zero of=/swapfile bs=1K count=1048576
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
※ 스왚 파일의 크기는 적어도 40KiB(40960바이트)는 되어야 한다.
(2) 파일 접근 권한 설정
$ sudo chmod 600 /swapfile
파일 접근 권한을 바꾸지 않으면 스왚 파일을 시스템 메모리에 붙이는 단계(4)에서 오류가 난다.
(3) 스왚 파일 초기화
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=d09c4955-c28d-4a01-9987-7dfe9d00f490
여기에서 나오는 UUID 값이 /etc/fstab에 등록할 때에 필요할 수도 있다.
아래처럼 스왚 파일 정보를 확인해 볼 수 있다.
$ sudo file /swapfile
/swapfile: Linux/i386 swap file (new style), version 1 (4K pages), size 262143 pages, no label, UUID=d09c4955-c28d-4a01-9987-7dfe9d00f490
(4) 스왚 파일을 시스템 메모리에 붙이기
$ sudo swapon /swapfile
"swapoff /swapfile" 또는 "swapoff -a"로 스왚 파일(/swapfile) 또는 스왚 파일들을 시스템 메모리에서 뗄 수 있다.
(2)에서 스왚 파일의 접근 권한을 600으로 바꾸지 않았다면 아래와 같이 오류가 난다.
$ sudo swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
swapon: /swapfile: swapon failed: Operation not permitted
스왚 파일이 잘 쓰이고 있는지를 아래처럼 확인해 볼 수 있다.
$ swapon -s
Filename Type Size Used Priority
/swapfile file 1048572 0 -2
$ free -m
total used free shared buff/cache available
Mem: 485 265 7 32 212 173
Swap: 1023 0 1023
(5) 영구 등록
이렇게 하고 운영체제를 다시 시작하면, 새로 만든 스왚 파일은 사라지지 않지만 스왚 메모리에 붙지 않은 상태로 돌아간다. 운영체제를 다시 시작해도 스왚 파일이 가상 메모리로 쓰이게 하려면, /etc/fstab 파일의 아래에 다음 내용을 넣는다.
/swapfile swap swap defaults 0 0
※ 리눅스 종류에 따라 스왚 파일 이름(/swapfile) 자리에 앞에서 mkswap 명령을 썼을 때에 나온 UUID 값(UUID=d09c4955-c28d-4a01-9987-7dfe9d00f490)을 넣어 주어야 할 수도 있다.
※ 스왚 파일을 /etc/fstab에 등록하면 "swapon -a"로 시스템 메모리에 한꺼번에 붙일 수 있다.
덧글을 달아 주세요