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

[Linux] Swap memory 할당

by 쿡노트 2024. 7. 26.
반응형

OS : CentOS 7.9

리눅스 서버에 Swap memory를 할당하는 방법입니다.

swap memory 할당 여부 확인

#free 또는 free -h
[root@oel19db1 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            94G        1.1G         93G         16M        168M         92G
Swap:            0B          0B          0B

#Swap File 및 Size 확인
[root@oel19db1 ~]# swapon -s
[root@oel19db1 ~]#

 

swap memory에 할당 가능한 Disk 용량 확인 (/ root 영역)

[root@oel19db1 ~]# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        70G   20G   51G  28% /

 

swap file 생성 (32GB 생성)

fallocate : 리눅스 대용량 파일 만들기

$ sudo fallocate -l 32G /swapfile

[root@oel19db1 /]# sudo fallocate -l 32G /swapfile
#swapfile 확인이 가능 하다.
[root@oel19db1 /]# cd /
[root@oel19db1 /]# ll swapfile
-rw-r--r--. 1 root root 34359738368 Jul 26 10:18 swapfile

CentOS에서 아래 오류 메시지가 나올 경우 dd 명령어를 수행한다.

swapon: /swapfile: read swap header failed: Invalid argument

count는 추가할 Swap memory MiB단위(메비바이트)로 기재한다. 1024 * 32GB = 32768 MiB

$ sudo dd if=/dev/zero of=/swapfile count=32768 bs=1MiB

[root@oel19db1 ~]# swapon /swapfile
swapon: /swapfile: read swap header failed: Invalid argument

[root@oel19db1 /]# dd if=/dev/zero of=/swapfile count=32768 bs=1MiB
32768+0 records in
32768+0 records out
34359738368 bytes (34 GB) copied, 22.6033 s, 1.5 GB/s

 

swapfile 권한 수정

$ sudo chmod 600 /swapfile

[root@oel19db1 /]# chmod 600 /swapfile

 

swap 파일을 swap 영역으로 설정

$ sudo mkswap /swapfile

[root@oel19db1 /]# mkswap /swapfile
Setting up swapspace version 1, size = 33554428 KiB
no label, UUID=75c960f2-ca28-422e-9175-6a96320c1128

 

swap memory 활성화

$ sudo swapon /swapfile

[root@oel19db1 /]# swapon /swapfile
[root@oel19db1 /]#

 

Swap File 및 Size 확인 & swap memory 활성화 확인

$ swapon -s

$ swapon --show

[root@oel19db1 /]# swapon -s
Filename Type Size Used Priority
/swapfile                               file 33554428 0 -2

#swap memory 활성화 확인
[root@oel19db1 /]# swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file  32G   0B   -2

[root@oel19db1 /]# free -h
              total        used        free      shared  buff/cache   available
Mem:            94G        1.1G         60G         16M         33G         92G
Swap:           31G          0B         31G

 

영구 적용

$ sudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

또는 /etc/fstab 편집하여 아래 내용을 추가한다. $ sudo vi /etc/fstab

/swapfile none swap sw 0 0

[root@oel19db1 ~]# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
/swapfile none swap sw 0 0

[root@oel19db1 ~]# cat /etc/fstab
/swapfile none swap sw 0 0

Swap 메모리 초기화

메모리 사용량이 충분한데도, swap 메모리를 사용하거나, 또는 swap 메모리를 비울 때 사용한다.

$ sudo swapoff -a && swapon -a

#Swap memory 사용 중지 예시
[root@oel19db1 /]# swapoff -a
[root@oel19db1 /]# free -h
              total        used        free      shared  buff/cache   available
Mem:            94G        1.1G         60G         16M         33G         92G
Swap:            0B          0B          0B

#Swap memory 활성화 예시
[root@oel19db1 /]# swapon -a
[root@oel19db1 /]# free -h
              total        used        free      shared  buff/cache   available
Mem:            94G        1.1G         60G         16M         33G         92G
Swap:           31G          0B         31G

#swap 메모리 사용 중지 & 활성화
$ sudo swapoff -a && swapon -a

 

참조

https://ssue-dev.tistory.com/entry/Linux-Swap-Memory-스왑-메모리-설정-방법

https://ellordnet.tistory.com/213

반응형