Technical Note/SERVER PERFORMANCE

보통 swap 파티션은 물리적 메모리 크기의 2배로 잡습니다.

swap 파티션은 물리적 메모리를 보조해 주는 역할을 합니다.

프로그램을 수행할 때는 프로그램이 메모리에 적재되어 실행이 됩니다.

메모리에 적재된 프로그램을 프로세스라고 하구요 ^^

프로그램을 많이 돌리면 프로세스의 양이 많아지게 되고

프로세스의 양이 많아지면 메모리 사용가능 용량은 점점 작아지게 됩니다.

사용가능한 메모리 양이 줄면 새로운 프로그램을 실행시키고 싶어도

메모리 부족으로 실행이 되지 않습니다.

그렇기 때문에 기존에 실행한 프로세스를 kill해야하는 경우가 발생합니다.

리눅스에서는 메모리가 부족한 상황에서도 기존의 프로세스를 kill하지 않고 새 프로세스를 띄울 수가 있는데, 바로 swap 파티션이 있기 때문에 가능합니다.

swap파티션은 메모리에서 현재 사용중이지 않은 프로세스를
하드디스크의  swap  파티션에 저장을 하고
swap파티션에 저장한 공간 만큼 메모리에 사용가능한 용량을 확보 할 수가 있게 됩니다.

swap파티션에 기록된 프로세스가 다시 필요하게 되면
swap파티션에서 메모리로 프로세스 정보가 다시 올라가게 되고
대신 사용 안하는 또 다른 프로세스가 swap파티션으로 내려오게 되는 것입니다.
하드디스크를 읽는 속도는 메모리를 읽는 속도에 비해 상당히 느리기 때문에
swap파티션을 많이 access하게 되면 리눅스 시스템의 전반적인 성능이 많이 저하됩니다.
 

 

SWAP이란?

 

◎ 리눅스의 가상메모리를 사용하기위한 파일SYSTEM

 

◎ 역할 (스와핑(Swaping)이란?)  

    - 물리적인 메모리가 부족할 때 우선 하드디스크공간을 이용하고,

       메모리 사용이 가능해지면 하드디스크에서 메모리로 옮겨오는 방법을 사용한 방법.

     cf) RAM용량의 2-3배

 

◎ 쓰는 이유 

-이렇게 하면 실제 보유하고 있는 메모리보다 훨씬 많은 양의 메모리를 사용할 수 있으므로  

 (→ 더욱 많은 작업을 진행할 수 있다.)

  

◎ 스와핑을 사용하려면..

    - 하드디스크의 공간을 할당해야 한다. 두 가지 방법이 사용

 

cf) 두가지 방식

SWAP 파티션 방식 : 나누어진 파티션 중 하나를 스와핑 영역으로 사용하는 방법

SWAP 파일방식 : 일반적인 파일 시스템에 존재하는 파일을 스와핑 영역으로 사용하는 방법