[Linux 기초] 26. SWAP 메모리
카테고리: LINUX
태그: linux
01. SWAP 메모리
디스크 일정 공간을 마치 물리적인 메모리처럼 사용하는 것을 SWAP 메모리라고 한다, 물리 메모리가 가득 차게 된다면 프로세스 더 이상 이어가지 못하고 종료가 되는데 이를 방지하고자 부족한 메모리를 하드 디스크 공간으로 할당한 스왑 메모리를 통하여 진행을 한다.
a) SWAP 디바이스 확인
# 방법01
$ swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -2
# 방법02
$ more /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -2
b) SWAP 메모리 사용량 확인
# 방법 #01
$ free
total used free shared buff/cache available
Mem: 1785524 457280 1284528 5160 201076 1328244
Swap: 2097148 0 2097148
# 방법 #02
$ top
top - 13:47:16 up 6 min, 1 user, load average: 0.01, 0.09, 0.07
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 1.3 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
MiB Mem : 1743.7 total, 1254.4 free, 446.3 used, 196.6 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1297.3 avail Mem
c) SWAP 디바이스 또는 파일 설정
# /dev/sdd 디스크에서 /dev/sdd1 파티션을 생성
$ lsblk | grep 10G
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sdg 8:96 0 10G 0 disk
$ fdisk /dev/sdd
$ lsblk /dev/sdd
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdd 8:48 0 10G 0 disk
└─sdd1 8:49 0 10G 0 part
# dd 명령을 사용하여 SWAP 디바이스로 사용할 1GB 용량의 파일을 생성
$ dd if=/dev/zero of=/swapfile01 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.21119 s, 149 MB/s
$ ls -l /swapfile01
-rw-r--r--. 1 root root 1073741824 May 1 13:59 /swapfile01
d) SWAP 메모리 추가
# mkswap 명령으로 SWAP 디바이스로 지정
$ mkswap /dev/sdd1
Setting up swapspace version 1, size = 10 GiB (10736365568 bytes)
no label, UUID=5540394e-6d84-4e1b-98a1-9dfb97b629c0
$ chmod 0600 /swapfile01
$ mkswap /swapfile01
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=edbec992-a5f3-4131-8898-6cf9f36a2ab9
# swapon 명령을 통해 SWAP POOL에 SWAP 디바이스를 추가하여 SWAP 메모리 용량을 늘린다
$ swapon /dev/sdd1
$ swapon /swapfile01
$ swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -2
/dev/sdd1 partition 10484732 0 -3
/swapfile01 file 1048572 0 -4
$ free
total used free shared buff/cache available
Mem: 1785524 444944 246316 5164 1252936 1340580
Swap: 13630452 0 13630452
# /etc/fstab 파일에 내용을 추가한 후 리부팅을 후에도 추가한 SWAP 디바이스가 올라오는지 확인
$ tail /etc/fstab -n 3
# 아래 내용 추가
/dev/sdd1 swap swap defaults 0 0
/swapfile01 swap swap defaults 0 0
$ reboot
$ swapon -s
Filename Type Size Used Priority
/dev/sdd1 partition 10484732 0 -2
/dev/dm-1 partition 2097148 0 -3
/swapfile01 file 1048572 0 -4
e) SWAP 메모리 제거
$ swapon -s
Filename Type Size Used Priority
/dev/sdd1 partition 10484732 0 -2
/dev/dm-1 partition 2097148 0 -3
/swapfile01 file 1048572 0 -4
$ swapoff /swapfile01
$ swapon -s
Filename Type Size Used Priority
/dev/sdd1 partition 10484732 0 -2
/dev/dm-1 partition 2097148 0 -3
댓글 남기기