본문으로 바로가기

SWAP

category Linux/Linux Server 2017. 8. 31. 17:36
  • SWAP이란

디스크내에 존재하는 가상적인 메모리 공간, 물리적인 메모리(RAM) 연장 공간처럼 쓰이는 공간을 스왑이라고 한다. 

쉽게 설명하면 메모리가 가득차게 되면 더이상 프로그램을 실행할 수 없다. 그리고 시스템도 다운될 것이다. 이런현상을 방지하기위해

swap공간을 마련한다. swap 공간은 메모리가 가득차게될때 사용되는대  프로그램이 실행되야하는대 메모리에 공간이 부족하면 메모리에서 

가장 사용하지 않는것을 swap공간으로 내리고 그 공간에 프로그램을 메모리로 올린다.  이렇게 메모리에 있던 프로그램을 swap 공간으로 

그리고 swap 공간에 있던 프로그램을 다시 메모리로 올리는 것을 페이징이라고 한다. 

메모리와 디스크에 존재하는 swap의 속도는 차이가 많이 난므로 페이징이 많아지면 그만큼 느려진다. 

메모리가 가득차기전에 swap 공간을 미리 늘려놓고 대비하거나 메모리를 증설해야한다.


- 언제 스왑을 추가해야하는가?

메모리공간이 80% 이상 차지할 경우 

- 스왑공간의 크기는 얼마로 해야 적당한가?

(초기 설치시) : 초기 설치시에는 소프트웨어가 권장하는 정보를 받아 설정하는것이 좋다.

(운영시) : 운영시에는 적절히 잡아 사용하는것이 맞다. ( 넉넉히 늘려도 상관없으므로 안전하게 넉넉히 잡는것도 방법이다. )


권장사항

--------------------------------------------

RAM SIZE SWAP SIZE

--------------------------------------------

 4GB 이하이면 minimum  2GB

 4GB ~ 16GB minimum  4GB

16GB ~ 64GB minimum  8GB

64GB ~ 256GB minimum 16GB

256G ~ 512GB minimum 32GB

--------------------------------------------

- 스왑을 추가하면 성능이 좋아지는가?

성능은 좋아지지 않는다. 메모리 공간이 많이 남으면 swap 공간은 사용되지 않는다. 그저 메모리가 가득찰경우 운영체제가

멈추지 않게 하기위한 안전장치이다. 성능이 좋아지려면 메모리공간을 늘려야한다.


  • 스왑(SWAP) 관리

-SWAP 확인 방법

# free

# top

# cat /proc/swaps    ( # swapon -s )

# cat /proc/meminfo


-SWAP 추가 방법
- SWAP File(EX: /swap/swapfile)
(ㄱ) 큰 파일 생성
# dd if=/dev/zero of=/swap/swapfile bs=1M count=10240     /* 100M 파일 생성*/
ㄴ) 스왑 파일시스템 생성(swapfs)
# mkswap /swap/swapfile 
(ㄷ) 스왑 Activate(swap on)
# swapon /swap/swapfile
(ㄹ) /etc/fstab 파일 설정
# vi /etc/fstab 
...중략....
/swap/swapfile        swap        swap        default    0 0 <- swap은 임시파일이므로 0 0 으로 설정
- SWAP Partition(EX: /dev/sdb1) 성능 더 좋음
(ㄱ) 파티션 준비
# fdisk /dev/sdb (Partition‘s System ID : 82)
(ㄴ) 스왑 파일시스템 생성(swapfs)
# mkswap /dev/sdb1
(ㄷ) 스왑 ON(swap on)
# swapon /dev/sdb1
(ㄹ) /etc/fstab 파일 설정
# vi /etc/fstab
...중략....
/dev/sdb1        swap        swap        default    0 0 <- swap은 임시파일이므로 0 0 으로 설정

-SWAP 삭제

# swapoff /swap/swapfile

# rm -rf /swap/swapfile     /* swapoff 하면 스왑공간으로 사용하지 않는다는 명령어일뿐 그 파일을 자동으로 삭제하지 않는다 */


# swapoff /dev/sdb1        /* 디스크공간은 물리적으로 제거하지 않는이상 다시 사용가능하므로 삭제하지 않아도 된다.*/



'Linux > Linux Server' 카테고리의 다른 글

Software 관리_YUM  (0) 2017.09.01
Software 관리_RPM  (0) 2017.08.31
RAID  (0) 2017.08.30
LVM ( Logical Volume Manage )  (0) 2017.08.29
마운트 ( mount )  (0) 2017.08.28