[태그:] linuxswapfile

  • 리눅스 스왑파일 만들기

    우분투 18.04 기준입니다.

    스왑용량이 부족하거나 설치시 별도의 스왑파티션을 지정하지 않은 경우 간단히 스왑파일을 만들어서 사용할 수 있습니다.

    기본적으로 시스템 관련 작업이므로 root 권한을 가지고 있는 경우로 가정하겠습니다.

    $ sudo -i

    다음과 같이 fallocate 를 이용해 원하는 용량의 스왑파일로 사용할 빈 파일을 만듭니다. (보통 장착된 램의 두배정도) 여기서는 간단히 8GiB 짜리 스왑을 생성해 보겠습니다.

    # fallocate -l 8G /.swapfile

    dd 명령어를 이용하는 방식도 있는데 fallocate 가 더 간편하고 빠르더군요.

    보안을 위해 스왑 파일의 권한을 제한합니다.

    # chmod 0600 /.swapfile

    아래와 같이 스왑 파일을 생성합니다.

    # mkswap /.swapfile
    Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
    no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    현재 시스템에 스왑 파일 바로 적용해 봅니다.

    # swapon /.swapfile

    위와 같이 하고 free 명령어로 스왑이 적용되었는지 확인 할 수 있습니다.

    # free -h
                  total        used        free      shared  buff/cache   available
    Mem:            15G         11G        173M        471M        3.8G        3.4G
    스왑:        8.0G          0B        8.0G

    이상태에서 리부팅하면 스왑파일 설정은 사라져 버립니다. ㅜㅜ; 시스템 리부팅시 자동으로 적용하기 위해서는 /etc/fstab을 아래와 같이 열어 편집합니다.

    # vi /etc/fstab

    (vi 편집기 사용법: Shift 키 + G (대문자 G) 를 누르고 o 를 입력하면 마지막줄에 새로운 줄을 추가해서 입력할 수 있습니다.)

    아래 내용 을 맨 밑줄에 추가합니다.

    /.swapfile none swap sw 0 0

    (vi 편집기 사용법: 모두 적었으면 Esc 키를 누르고 나서 :wq 를 입력하고 엔터를 치면 저장할 수 있습니다.)

    저장해 두면 이제 리부팅 후에도 스왑파일을 자동으로 시스템에서 스왑 영역으로 사용하게 됩니다.