회사에서 사용중인 리눅스 서버들에 SWAP 메모리 설정을 해야 해서 설정 방법을 인터넷으로 찾아서 정리함.
스왑 메모리는 디스크의 용량 일부를 가상 메모리 공간으로 할당한다.
메모리가 부족할 때 사용하게 되며, 어플리케이션에 따라 실제 메모리와 스왑 메모리를 혼용하기도 한다.
스왑 파티션 및 파일 확인
free -m
total used free shared buff/cache available
Mem: 989 119 295 13 574 708
Swap: 0 0 0
Swap 부분을 확인한다. 위 처럼 0으로 되어있으면 스왑 파티션이 없는 것이다.
swapon -s
스왑 파일이 있는 지 확인한다. 파티션이 아닌 파일로 존재할 수 있다.
스왑 파일 생성 및 시스템 등록
fallocate -l 2GB /swapfile
스왑 파티션으로 하는 방법도 있지만, 파티션 특성상 디스크 볼륨을 컨트롤 하기 때문에 잘못하면 자료가 몽땅 날라갈 수 있는 위험이 있다고 한다. 파일 형태로 해보자.
용량은 보통 메모리 크기의 두배를 지정한다.
chmod 600 /swapfile
파일 퍼미션을 시스템에서만 접근 가능하도록 600으로 설정한다.
mkswap /swapfile
Setting up swapspace version 1, size = 1.9 GiB (1999994880 bytes)
no label, UUID=79c91d98-7346-4d2f-9786-037580267a14
mkswap 명령어로 스왑 포맷형태로 변환
swapon /swapfile
스왑 파일을 시스템에 등록
free -m
total used free shared buff/cache available
Mem: 989 120 114 13 755 707
Swap: 1907 0 1907
다시 free -m 으로 Swap 항목을 확인한다.
재부팅 시에도 스왑 파일 사용하도록 설정
/etc/fstab 파일에 아래 항목 추가
/swapfile none swap sw 0 0
스왑 파일 삭제 방법
swapoff swapfile
스왑 사용을 비활성화
rm /swapfile
스왑 파일을 삭제하고, /etc/fstab에 등록한 항목도 삭제한다.