CentOS swap 영역 해제하기

swap 의 사전적 의미. (daum 사전)

개요

Linux의 swap 메모리, swap 영역은 정확히 사전적 의미그대로의 영역을 말한다.
(윈도우는 가상 메모리)

CPU(Cache) – RAM – HDD (혹은 SSD를 포함하는 모든스토리지) 가 있는 컴퓨터는
사용자가 특정한 프로그램을 실행하면
1. HDD에서 필요한 데이터를 읽어서
2. RAM에 일정량을 저장하고
3. 다시 CPU의 Cache 메모리에 일정량을 저장하고
4. CPU에서 연산을 하고
5. 결과를 반환한다.


보통은 위 5단계에서 아무런 문제가 일어나지 않지만 요즘 게임을 하거나, 사진을 찍어서 편집을 하고 하다보면 메모리(RAM) 사용량이 늘어나는 것을 볼 수 있다.

예컨대 RAM이 4GB인데 동영상 편집을 할 때 동영상의 크기가 8GB를 넘어간다면?

바로 이 때 Paging(단편화1 복잡하게 생각 할 필요 없다. 책을 한권 램에 올려야 하는데 램의 크기가 작아서 페이지를 떼어서 올리는 것이라고 생각하면 된다. 우리가 실행하는 게임이건 포토샵이건 다 매 한가지다.) 이라는 작업이 일어나고 swapping 이 필요해 진다.

일단 동양상 편집을 위해 4GB램의 PC에서 8GB짜리 동영상을 로드하게 되면
1. 우선 HDD에 있는 8GB의 데이터 중 4GB의 데이터가 램으로 이동한다.
2. 사용자가 현재 램에 있는 4GB의 동영상 편집을 수행한다.

그런데 이 때 현재 램에 있는 4GB 말고 나머지 반쪽의 내용을 불러와야 한다면?
1. 현재 4GB의 동영상을 HDD의 스왑 파티션으로 이동한다. 2여기서 램에 있는 내용을 삭제 하지 않는 이유는 사용자가 아직 기존에 램에 있던 4GB의 데이터의 작업을 완료하지 않았기 때문이다.
2. HDD에 남아있던 나머지 뒤쪽 4GB를 램에 올린다.
3. 다시 편집 작업을 한다.

그래서 보통 물리 메모리(RAM)의 1배~2배 정도로 설정을 하는데 익히 알고 있다시피 HDD건, SSD건 RAM보다 느린데다가, swap 되는 데이터의 크기 두배3RAM에 있는 데이터를 읽어서, swap에 쓰고 다시 HDD의 데이터를 읽어서 RAM에 올려야 하므로swap으로 만큼 읽고 쓰기가 일어나므로 swapping 이 잦아지면 작업 지연이 생길 수 밖에 없다. 4지금이야 대부분의 PC에 SSD가 달려있어서 잘 못느끼지만 HDD가 주류이던 시절 게임을 하다 지역 이동을 하거나 할 때 본체의 빨간불이 깜빡이며 열심히 HDD가 돌아가고 화면이 멈춰있거나 느려지거나.. 경험 했을 것이다.

swap 영역 해제

 # 현재 swap 정보 확인
[root@centos7:~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            62G        5.5G         54G        264M        2.9G         56G
Swap:           31G          0B         31G

[root@centos7:~]# blkid
/dev/sda1: UUID="d8888888-80c0-4156-8b73-6b5323dd2c01" TYPE="xfs"
/dev/sda2: UUID="p22222-84DI-Hvny-RZ7Z-FbHq-QBq2-tTl5yK" TYPE="LVM2_member"
/dev/sdb1: UUID="45555555-0ca0-4b99-86b5-33e45689fc10" TYPE="xfs"
/dev/mapper/centos-root: UUID="5999999-877a-4fe9-a464-5376cb476310" TYPE="xfs"
/dev/mapper/centos-swap: UUID="2333333-b2d1-4f58-9123-865739a3c2eb" TYPE="swap"    

 # 현재 swap 영역을 사용하고 있으면 해제할 수 없다.
 # swap 영역이 여러개일 때
[root@centos7:~]# swapoff  /dev/mapper/centos-swap

 # 현재 모든 swap을 해제 할 때
[root@centos7:~]# swapoff -a

# 해제 여부 확인.
 # swap 이 모두 0B인 것을 확인할 수 있다.
[root@centos7:~:]# free -h
              total        used        free      shared  buff/cache   available
Mem:            62G        7.7G         52G        161M        3.0G         54G
Swap:            0B          0B          0B
# swap 파티션 마운트 정보 변경
[root@centos7:~:]# vi /etc/fstab
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=d675d2d3-80c0-1234-8j72-6b5323dd2c01 /boot                   xfs     defaults        0 0
# type이 swap 인 파티션에 대해 주석 처리 해 준다.
# 삭제 해도 된다.
#/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb1       /data  xfs     defaults        0       0

댓글 남기기