Linux Swap file 만들기

HYEONG HWAN, MUN/ 3월 17, 2018/ 미분류/ 2 comments

하드디스크 일부 영역을 메모리로 사용하는 것을 스왑(Swap) 이라고 한다. 과거, 메모리가 비싸던 시절에 흔하게 사용되던 방법이다. (요즘엔 사무용 PC도 램 8GB를 사용하는 시대라서 스왑을 거의 사용 안함.)

대부분의 경우에 스왑을 설정할 필요는 없지만, 메모리가 낮은 시스템에서는 설정해 주어야 한다.
현재 이 블로그는 메모리 1GB 의 저사양 클라우드 서버에서 구동되고 있으며, 최근에 메모리를 늘려야할 필요가 생겨서 스왑을 설정하고 있다.
HDD 환경에서 SWAP은 느리기 때문에 추천하지 않지만, SSD 환경에서 SWAP은 나름 쓸만하다.

 

1. 빈 디스크 만들기

블럭사이즈가 1MB, 블럭 갯수가 2000K 인 빈파일을 만든다. (즉 2GB)

# dd if=/dev/zero of=/root/swapfile bs=1024 count=2000000

권한 설정 (예를들어 시스템 내의 다른 사용자가 스왑파일을 지운다면 문제가 발생할 것이다.)

# chmod 600 /root/swapfile

 

2. 스왑파일로 설정하기

# mkswap /root/swapfile

 

3. 스왑파일 켜기

# swapon /root/swapfile

 

(반대명령어) 스왑파일을 끄는 명령어는 다음과 같다.

# swapoff /root/swapfile

 

4. 메모리 확인

# free -m

기존에 메모리 1GB 서버에서, 이제는 2GB 를 추가하여, 3GB 서버가 되었다.

시스템의 최대 성능을 위해서 당연히 Memory 영역을 먼저 사용한다. (메모리는 SSD 보다 월등히 빠르니까!)

어느정도의 Memory 사용량이 차면, 시스템은 메모리의 비필수 데이터를 비우는 작업을 한다. 그 이후에도 메모리 공간이 부족하면 메모리 에러를 발생시킨다.

하지만 Swap 이 있는 경우에는 바로 Swap 을 사용하기 시작한다.

어느 정도의 시간이 지난 후에 시스템에서 free -m 명령어를 통해 메모리를 확인했을 때, swap 을 많이 사용중이라면 메모리 증설을 고려해 보아야 한다. (일반적으로 swap 사용량은 0이거나 매우 적다.)

 

5. 재부팅시 스왑이 설정되도록 처리

# vi /etc/rc.local

swapon 관련 명령어 한줄 추가해 주면 된다.


 

스왑 제거하는법

/etc/rc.local 파일에서 swapon 관련 명령어 제거
# swapoff /root/swapfile
# rm /root/swapfile

 

 

2 Comments

  1. 안녕하세요 오랜만에 들렀습니다.
    좋은 정보입니다.
    제 서버는 램이 16인데
    가상머신들을 많이 돌리기 때문에
    조금 조금씩 램을 할당해 주고 있었는데

    유용한 정보입니다.
    마침 SSD도 사용하고 있어서 한번 시도해 보겠습니다.
    감사합니다.

    1. 램이 16기가면 굳이 필요 없긴합니다.
      현재 블로그를 아마존클라우드에서 돌리고 있는데, 제가 운영하는 서버로 옮길까 고민중입니다.

Leave a Comment

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*