[Linux 기초] 26. SWAP 메모리

Date:     Updated:

카테고리:

태그:


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

LINUX 카테고리 내 다른 글 보러가기

댓글 남기기