Linux Swap file 만들기

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

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

대부분의 경우에 스왑을 설정할 필요는 없지만, 메모리가 낮은 시스템에서는 설정해 주어야 한다.
메모리가 많은 시스템에서는 스왑을 설정해도 메모리가 많이 남기 때문에 스왑 영역을 사용하지 않는다.

HDD 환경에서 SWAP은 느리기 때문에 추천하지 않지만, SSD 환경에서 SWAP은 나름 쓸만하다.

 

1. 빈 디스크 만들기

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

# 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>
*
*