리눅스 swap 생성

(Last Updated On: November 11, 2019)

리눅스 스왑 (가상메모리) 생성

메모리 512MB인 VPS를 주문했는데, 메모리가 뭔가 부족해보인다. 게다가 스왑도 설정되지 않았다. 램도 적은데 스왑이 0 이라니, 스왑은 메모리를 완전 대체하는 그런 기능은 아니지만, 불안정해보인다.

lightsail swap memory linux

Creating a swap file

SSD VPS 이기 때문에, 그냥 넉넉히 2G 의 스왑파티션을 생성하도록 하겠다.

dd if=/dev/zero of=/swapfile bs=1M count=2048
[email protected]:/home/admin# dd if=/dev/zero of=/swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 32.251 s, 66.6 MB/s

루트 디렉토리 ( / )에 swapfile 이 생겼을 것이다. (루트 권한으로 정상적으로 실행했다면)

[email protected]:/home/admin# ls -l / | grep swapfile
-rw-r--r--  1 root root 2147483648 Jul 21 16:58 swapfile

생성한 파일을 스왑형식으로 변경

mkswap /swapfile
[email protected]:/home/admin# mkswap /swapfile
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=236dc8e2-c131-441a-86bb-4dc25bcadf8b

스왑을 활성화

swapon /swapfile
[email protected]:/home/admin# swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.

스왑파티션의 권한 변경

chmod 600 /swapfile
[email protected]:/home/admin# chmod 600 /swapfile
[email protected]:/home/admin# ls -al /swapfile
-rw------- 1 root root 2147483648 Jul 21 17:03 /swapfile

부팅시에도 스왑파티션이 적용되게끔 fstab 수정

Red Hat Enterprise Linux / Centos

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

Debian

echo "/swapfile       none    swap    sw      0       0" >> /etc/fstab
[email protected]:~# cat /etc/fstab
UUID=711e1ec2-2a36-4405-bf46-44b43cfee42e / ext4 defaults 1 1
/swapfile       none    swap    sw      0       0