본문 바로가기
카테고리 없음

[Linux] Swap 이란? (CPU, RAM, 하드 디스크)

by 떵해이 2020. 12. 1.
300x250

처음 공부하실 때는 swap 간단한 개념만 개략적으로 이해하시고, 사용법만 익혀두시면 됩니다.

 

아래와 swap을 배우시기 전에 간단한 RAM과 하드 디스크의 개념과 역할을 알아두는 것이 좋습니다.

(나중에 컴퓨터 사실 때도 유용하게 활용할 수 있습니다.)

 

※ CPU : 프로그램 관련된 데이터를 처리하는 일, 계산 등등 CPU의 역할입니다. (사람의 뇌와 유사한 기능)

   사람도 공부나 일을 하면서 (CPU 작업하다가) 뭔가 임시적으로 기록하거나 메모를 할 때 (RAM에다가 기록)

   합니다. RAM은 하드 디스크와 CPU의 중간자 역할을 수행한다고 생각하셔도 됩니다.

 

참고로 RAM이 좋으면 많은 프로그램을 실행시켜서 한꺼번에 사용할 수 있습니다.

(게임도 여러개 켜놓고, 파일들도 여러개 실행시켜놓은 상태)

그런데 이 때 RAM용량이 가득차서 데이터 손실이 일어나거나 문제가 생겨 시스템 에러가 발생할 일을

사전에 방지하기 위해 swap이라는 메모리 영역을 사용하는 것입니다.

swap 영역은 사용하지 않는 것이 좋으나 비상시 대비에 만들어 놓는 것입니다.

분   류 RAM 하드 디스크
개   념 (한 줄) 주 기억 장치 보조 기억 장치
추   가   설   명 하드 디스크에 저장된 프로그램을 실행하면 관련 데이터가 하드 디스크에서 RAM으로 옮겨지게 됩니다. 컴퓨터에 설치된 프로그램은 여기 하드 디스크에 저장이 됩니다.
쉽   게   설   명 단기로 기억하고 CPU (사람으로 치면 뇌라고 생각하시면 됩니다.)를 보조해주는 역할을 합니다. 속도가 빠릅니다. 단, 전원을 끄면 저장된게 모두 사라집니다. 오래 기억하고 컴퓨터를 꺼도 지워지지 않습니다. 대신에 속도가 느립니다.
(중간에 작업하던 중 파일이 날아가지 않게 중간 중간에 저장을 하면 하드 디스크에 저장을 시키는 것입니다.)
쓰   는   이   유 속도가 빠르기 때문
효율적으로 CPU를 사용하기 위해
날아가지 않고 (비휘발성) 저장 매체
결   론 하드 디스크보다 빠르기 때문에 하드 디스크에 데이터를 가지고 와서 CPU한테 빠르게 데이터 정보를 제공, 주의 할 점은 휘발성 메모리라 데이터가 날아갈 수 있으니 조심해야합니다.

주의 사항을 보완하기 위한 방법

RAM이 작은 경우 데이터들이 과하게 실행이 되었을 때 먼저 쓰이지 않는 데이터들이 지워지거나 에러가 날 수 있으므로 비상시 대비를 위해 swap이라는 공간을 활용합니다.
속도가 RAM에 비해 현저히 늘리지만 비휘발성 저장 메모리 이기 때문에 꼭 필요한 존재

 

 

CPU : 컴퓨터 핵심 (뇌) 중앙 처리 장치

        모든 연산을 한다고 보시면 됩니다.

        공부(계산)하는 능력

 

RAM : 컴퓨터 프로그램을 실행 속도, 갯수에 연관

         공부할 때 책상의 크기

         하지만 공부가 끝나고 책상을 깔끔히 정리해서 책꽂이에 꼽지 않으면

         청소하시는 분이 다 버립니다. 그래서 데이터를 꼭 저장하지 않으면 휘발성 메모리 입니다.

         책상의 크기가 크면 책을 많이 꺼낼 수 있습니다. 그것이 프로그램을 많이 실행시킬 수 있는 것과 같습니다.

         프로그램을 실행하면 관련 데이터가 하드에서 RAM으로 옮겨집니다. (속도가 RAM빠르기 때문)

         게임을 실행하면 관련된 파일이 엄청 많은데 그 파일을 RAM으로 옮겨 실행합니다.

         옮겨서 데이터를 처리하는 일은 CPU가 합니다.

         CPU를 보조해줍니다. 하드 디스크와 CPU의 중간에서 역할을 한다고 생각하시면 됩니다.

 

HDD : 저장 공간, 저장 공간이 없으면 안됩니다.

         공부할 책들을 넣어놓는 책꽂이에 넣어 데이터를 저장하는 것과 같습니다.

         저장하지 않으면 청소하면서 다 날아갑니다.

         SSD저장 공간이 엄청 빨라도 RAM에 비하면 턱 없이 부족합니다.

         SSD가 빠른 이유는 저장이 어디되어있는지 다 외워서 실행시키면 바로 찾을 수 있기 때문

 

 

○ swap이란 ?

     시스템에 메모리가 부족할 경우에 하드 디스크의 일부 공간을 활용하여 계속 작업을 도와주는 영역

        (메모리 공간 부족 방지를 위한 임시 방편입니다.)

 

    ▷ 하드 디스크의 일부를 RAM처럼 사용할 수 있게 만드는 것

 

    ▷ 프로그램들을 많이 실행하여 메모리가 부족하면, 메모리 상에 적재된 프로그램 중

        지금 당장 필요하지 않은 프로그램 데이터를 하드 디스크에 옮겨 메모리 공간을 확보하는 것

        (리눅스 같은 경보 프로그램을 많이 실행하는 경우는 DB사용할 때 빈번히 일어납니다.)

 

    ▷ 물리적 메모리(RAM)의 용량이 가득 차게 될 경우 하드 디스크 공간을 메모리 공간처럼

        교환(swap)하여 사용하는 것

 

    ▷ 스왑 공간은 소량의 RAM을 사용하여 시스템에 도움을 주지만, RAM 대체로 생각하면 안됩니다.

 

    ▷ 하드 드라이브 상에 위치하여 RAM에 접근하는 것보다 접근 속도가 느립니다.

        (RAM에 비해 당연히 속도가 느리지만, 비상용으로 만든다는 느낌)

 

     swapping(스와핑)이란 ?

        RAM이 부족할 때 우선 하드디스크 공간으로 이용하고, 메모리가 다시 여유가 생겨 사용 가능

        해지면 하드디스크에서 메모리로 옮겨오는 것을 의미

 

※ swapping 사용 방식

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

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

 

    ▷ 스왑 공간은 스왑 파티션에 사용되거나, 스왑 파일을 저장하는데 사용되고

        두 개 다 같이 스왑 공간을 차지하는 것도 가능

 

    ▷ swap파티션 생성을 리눅스 운영체제에서는 권장하고 있지만

        swap 파티션이 없어도 운영체제가 정상적으로 실행됩니다.

 

     swap 파티션 영역의 크기는 대부분 RAM 크기의 2배 or 그 이상 권장

 

    ▷ swap은 특수한 목적을 위한 공간이라 스왑 공간을 위한 스왑 파일 시스템이 따로 존재

 

 

● swap 사용 이유

     실제 보유하고 있는 메모리보다 훨씬 많은 양의 메모리를 사용할 수 있다.

     DB 또는 오픈 소스 대용량 처리 어플의 경우 swap을 많이 활용한다.

        (이러한 경우를 제외하면 사용하지 않는 것이 좋다.)

 

 

● swap의 장단점

분   류 장   점 단   점
swap - RAM이 가득 찼을 때 보조 공간 제공
- RAM처럼 빠르지는 않지만 그래도
  하드보다 빠른 속도로 사용 가능,
  더 많은 공간 사용
- swap 파티션은 크기를 유동성 있게
  조정할 수 없기 때문에 하드 디스크의
  공간을 차지함
- 상황에 따라 사용해야 함
  스왑 활용도에 따라 다름
  (항상 성능을 좋게 해주는 건 아님)

 

 

∴ 결론 : 스왑이 항상 성능을 좋게 해주는 것은 아니므로, 적절하게 활용하여 효율을 내도록 해야합니다.

           (여기서는 자세히 다루지 않았지만 스왑 활용도를 확인하는 명령어도 있습니다.

            swappiness 값에 대해 한번 공부해보시길 바랍니다. 쉽습니다. 많이 사용하지 않습니다.)

 

swap 공간(용량) 늘리는 법은 다음 글에서 바로 소개하도록 하겠습니다.

반응형

댓글