반응형
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-스왑-메모리-설정-방법
반응형