강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 스왑(SWAP) 파일시스템 관리

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 스왑(SWAP) 파일시스템 관리

 

 

 

SWAP 파일 시스템 생성

 

 

SWAP 파일 시스템은 리눅스의 가상 메모리를 사용하기 위한 파일 시스템이다.

 

 

 

이것은 SWAP 파티션을 생성한 후에 해당 파티션에 만든다.

 

 

 

SWAP 파일 시스템은 보통 리눅스 설치 시에 지정하는 것이 일반적이지만, 설치 시에 만들지 못했거나 가상 메모리, SWAP 파일 시스템의 용량이 부족하여 이를 추가하거나 늘려야 하는 상황이 발생하기도 한다.

 

 

 

이 경우에 가상 메모리를 추가하거나 늘리기 위해 SWAP 파일 시스템을 생성하는 방법에 대해 알아 둘 필요가 있다.

 

 

 

여기에서는 가상 메모리에 대한 것을 먼저 알아보고, SWAP 파일 시스템을 활용하는 방법에 대해서 알아보도록 하겠다.

 

 

 

 

 

 

가상 메모리

 

 

가상 메모리란 시스템에 설치되어 있는 실제의 메모리(RAM)보다 더 많은 메모리를 사용하기 위한 기술이다.

 

 

 

물리적인 메모리가 부족할 때 우선 하드 디스크 공간을 이용하고 메모리 사용이 가능해지면 하드 디스크에서 메모리로 옮겨오는 방법을 사용한다.

 

 

 

이러한 방법을 스와핑(swaping)이라고 부른다.

 

 

 

 

이렇게 하면 실제 보유하고 있는 메모리보다 훨씬 많은 양의 메모리를 사용할 수 있으므로 더욱 많은 작업을 진행할 수 있다.

 

 

 

스와핑을 사용하기 위해 하드 디스크의 공간을 할당해야 하는데 다음의 두 가지 방법이 사용된다.

 

 

 

 

 

SWAP 파티션 방식

 

나누어진 파티션중 하나를 스와핑 영역으로 사용하는 방법으로 파티션 단위의 처리이기 때문에 유연성은 떨어지지만, 효율이 SWAP 파일 방식에 비해 높기 때문에 주로 사용된다.

 

 

 

 

 

SWAP 파일 방식

 

일반적인 파일 시스템에 존재하는 파일을 스와핑 영역으로 사용하는 것으로, 필요시 스와핑 영역을 유연하게 늘리고 줄일 수 있으나 SWAP 파티션 방식에 비해 효율이 떨어진다.

 

 

 

 

SWAP 파티션/파일의 생성

 

 

리눅스에서 SWAP 파일 시스템을 만드는 것은 다음의 파티션과 파일을 통해서 모두 가능하다.

 

 

 

다음에서 이것들에 대해서 알아보도록 한다.

 

 

 

 

 

SWAP 파티션 생성

 

SWAP 파티션을 생성하려면 일반적인 파티션과 마찬가지로 fdisk를 사용한다.

 

 

 

fdisk에서 파티션을 만든 후 t 명령을 써서 파일 시스템의 형식을 Linux Swap(82)으로 바꾸고 저장하면 SWAP 파티션이 만들어진다.

 

 

 

앞서 /dev/hda5SWAP 파티션을 생성하였다.

 

 

 

 

SWAP 파일 시스템 생성

 

이렇게 만들어진 파티션을 사용할 수 있게 하려면 mkswap 명령을 사용한다.

 

 

 

mkswapdevice에 지정된 영역에 SWAP 파일 시스템을 생성한다.

 

 

 

 

 

 

 

 

# mkswap c v1 /dev/hda5

 

 

 

 

 

 

 

 

 

 

 

SWAP 파일 생성일반적으로는 물리적인 SWAP 파티션을 사용하지만, SWAP 파일을 이용하기도 한다.

 

 

 

특히, 하나의 파티션에 리눅스를 설치할 때 가상 메모리가 필요하면 SWAP 파일을 사용한다.

 

 

 

SWAP 파일을 만들기 위해서는 다음과 같이 dd 명령을 이용하여 파일을 만들어야 한다.

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

위의 예는 1024byte 크기를 65536개 가지는 파일을 생성하므로 64MB의 파일을 만든다.

 

 

 

주의할 점은 SWAP 파일은 연결된 파일이어야 하기 때문에 cp로 복사하거나 하는 일은 할 수 없다는 것이다.

 

 

 

 

이렇게 만들어진 파일을 SWAP 파일 시스템으로 만들기 위해서는 SWAP 파티션과 같이 mkswap을 사용한다.

 

 

 

 

 

 

 

 

 

# mkswap c swapfile

 

 

 

 

 

 

 

 

SWAP 파티션/파일의 활성화

SWAP 파일 시스템이 생성된 후에는 SWAP 파일 시스템을 활성화시켜 주어야 한다.

 

 

 

그 이후에 리눅스 시스템이 해당 영역을 스와핑에 사용하게 된다.

 

 

 

활성화를 위해서 사용하는 명령어는 swapon이다.

 

 

 

 

 

 

 

 

# swapon /dev/hda5

 

 

 

 

 

 

SWAP 파일 시스템을 비활성화하기 위해서는 swapoff 명령을 사용한다.

 

 

 

기본적인 옵션과 사용 구문은 swapon과 같다.

 

 

 

 

 

SWAP 파일 시스템의 사용 상태 확인

 

 

SWAP 파일 시스템의 사용 상태를 확인해 볼 수 있어야 한다.

 

 

 

그런 경우 swapon s 또는 free 명령을 사용해서 현재 SWAP 파일 시스템의 정보를 알 수 있다.

 

 

 

swapon sfree로 확인하는 경우, swapon s SWAP 파티션 또는 파일별로 사용량을 보여 주고, free는 전체 SWAP 파일 시스템의 사용량을 보여 준다.

 

 

 

 

 

 

 

 

# swapon -s

Filename Type Size Used Priority

/dev/hda5 partition 465844 0 -1

 

# free

total used free shared buffers cached

Mem: 415976 173468 242508 1376 11364 77136

-/+ buffers/cache: 84968 331008

Swap: 465844 0 465844

 

 

 

 

 

 

 

/etc/fstabSWAP 파일 시스템 등록

 

 

마지막으로 시스템 부팅 시에 가상 메모리, SWAP 영역을 자동으로 사용하도록 하려면 /etc/fstab에 다음과 같이 스왑 영역을 추가해야 한다.

 

 

 

SWAP 영역이 특정 파티션이 아니고 파일인 경우에는 /dev/hda5에 해당하는 파티션명 대신 /swapfile 과 같이 파일의 이름을 적는다.

 

 

 

 

 

 

 

 

/dev/hda5 swap swap default 0 0

 

 

 

 

 

 

이렇게 현재 시스템에 SWAP 영역을 추가하는 작업이 간단해 보이지만, 실제로 작업할 때에는 세심한 주의를 요한다.

 

 

 

또한 SWAP 영역을 추가하는 것보다는 실제 메모리를 증설하는 것이 시스템 성능과 안정성에 더 효율적이다.

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  80 명