반응형

Swap 은 하드디스크를 매핑시켜서 추가 메모리처럼 사용하는 영역입니다.

기존에는 swap partition 을 사용했었는데, Ubuntu 17.04 부터는 파일로 변경되었습니다.

파티션 변경없이 쉽게 변경이 가능하다는 장점이 있습니다.

 

Ubuntu 18.04 LTS 에서 실행한 것으로 버전에 따라 약간 상이할 수 있습니다.

 

0. 현재 사용 중인 swap 정보를 확인합니다.

grep SwapTotal /proc/meminfo

 

1. 현재 사용중인 swap 을 중지 시킵니다.

sudo swapoff -a

 

 

2. swap 으로 사용할 파일을 생성합니다.

sudo dd if=/dev/zero of=/swapfile bs=1G count=16

 

if : input file

of : output file

bs : block size

count : number of blocks

위의 예시의 경우 1G * 16 = 16G 사이즈의 파일이 생성됩니다. 만약 시스템 메모리가 충분하지 않아서 한번에 1G의 임시 파일을 생성할 수 없다면, block size를 줄이고 count를 늘리면 됩니다.

sudo dd if=/dev/zero of=/swapfile bs=16384 count=1048576

 

 

2-1. Ubuntu의 경우 fallocate 명령어로도 파일 생성이 가능합니다. fallocate 명령어를 사용하는 것이 훨씬 빠르고 편하지만, fallocate 명령어로 생성한 파일은 특정 파일 시스템에서 문제가 발생할 수도 있다고 합니다. (swapon manual notes에 나와 있는 내용) 그리고, 특정 리눅스 배포판에서는 fallocate 명령어가 없기 때문에 dd 명령어가 더 범용적인 방법일 것 같습니다. 그냥 참고만 하세요.

sudo fallocate -l 16G /swapfile

 

 

3. 해당 파일을 시스템만 접근이 가능하도록, 권한을 조정합니다.

sudo chmod 600 /swapfile

 

 

4. 생성한 파일을 swap 으로 사용할 수 있게 합니다.

sudo mkswap /swapfile

 

5. swap 을 활성화 합니다.

sudo swapon /swapfile

 

6. 현재 사용 중인 swap 정보를 다시 확인합니다.

sudo grep SwapTotal /proc/meminfo

 

7. 마지막으로 부팅시에도 swap 이 적용될 수 있게 /etc/fstab을 편집합니다.

sudo vi /etc/fstab

 

아래 내용 추가

/swapfile    swap    swap    defaults    0    0

 

8. 확인

swap 정보 확인

sudo swapon --show

 

메모리 체크

free -h

 

 

9. swappiness 설정

swappiness 는 swap 메모리를 언제 사용할지에 대한 설정입니다. 설정값은 퍼센트로 0~100을 설정할 수 있습니다. 만약 30으로 설정하였다면, 시스템 메모리가 30% 이하로 남게되면 swap을 사용하라는 의미입니다. 숫자가 적을 수록 swap을 적게 사용하게 됩니다.

 

아래 명령어로 확인합니다.

cat /proc/sys/vm/swappiness

 

변경은 아래와 같이 합니다.

sudo sysctl vm.swappiness=20 

 

영구적으로 변경을 원한다면, /etc/sysctl.conf 파일을 편집합니다.

sudo vi /etc/sysctl.conf

 

아래 내용 추가

vm.swappiness=20

 

10. swap 제거하기

swap 종료

sudo swapoff -v /swapfile

 

/etc/fstab 파일 편집해서 swap 정보 삭제

vi /etc/fstab

 

swap 파일 삭제

sudo rm /swapfile

 

 

반응형

'Linux > Ubuntu' 카테고리의 다른 글

Ubuntu 에서 Oracle JDK 설치하기  (0) 2020.04.04

+ Recent posts