일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- istio #k8s #kubernetes
- Excel #엑셀
- test #비교
- EFK
- EKS
- Kafka #카프카
- lenova #레노버 #노트북
- Grid #CSS
- Swap Memory
- shell #shell script
- Node #POD #Container
- NameSpace #NS
- Linux #wc
- 네트워크 #NW
- 백준 #10430
- publishnotreadyaddress
- 오블완
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- dump #jattach
- Python #pakage
- dify
- lvm #lv #vg #pv
- jmap #jstack
- bootstrap #css #CSS
- DB #mariaDB #SQL
- jgrp000032 #ocp #
- OCP
- CI #CD #CI/CD
- function #사용자 정의 함수
- 티스토리챌린지
Archives
- Today
- Total
BEOM_IT
[RHEL] 스왑 메모리 (Swap Memory) 본문
728x90
반응형
swap 메모리를 할당하게 되면 swap 공간을 가지게 되는 되는데,
실제 메모리(RAM) 즉 물리 메모리가 가득 차게 된다면 프로세스 더 이상 이어가지 못하고 종료가 된다,
이를 방지하고자 부족한 메모리를 하드 디스크 공간으로 할당한 스왑 메모리를 통하여 진행을 한다.
따라서, Swap메모리는 물리적인 메모리가 아닌, 디스크의 공간을 메모리처럼 활용하여 처리 속도면에서는 떨어진다.
첫번째로 일단 디스크의 공간을 확인해야 한다.
3가지 방법이 존재한다.
읽기 접근 권한이 있는 파일 시스템에 대해 사용 가능한 디스크 공간의 양을 표시
[root@rhel8 /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 193M 7.6G 3% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 36G 30G 6.2G 83% /
/dev/mapper/rhel-home 18G 156M 18G 1% /home
/dev/sda2 1014M 196M 819M 20% /boot
/dev/sda1 599M 5.8M 594M 1% /boot/efi
tmpfs 1.6G 0 1.6G 0% /run/user/0
블록장치의 목록을 본다.
[root@rhel8 /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─rhel-root 253:0 0 35.2G 0 lvm /
├─rhel-swap 253:1 0 6G 0 lvm
└─rhel-home 253:2 0 17.2G 0 lvm /home
sr0 11:0 1 9.4G 0 rom
디스크의 파티션까지 확인
[root@rhel8 /]# fdisk -l
Disk /dev/sda: 60 GiB, 64424509440 bytes, 125829120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8EB88F4C-4933-418C-B428-EB771A4EBE52
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 1230848 3327999 2097152 1G Linux filesystem
/dev/sda3 3328000 125827071 122499072 58.4G Linux LVM
Disk /dev/mapper/rhel-root: 35.2 GiB, 37815844864 bytes, 73859072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-swap: 6 GiB, 6442450944 bytes, 12582912 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-home: 17.2 GiB, 18459131904 bytes, 36052992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
보통 아래와 같은 방식으로 swap을 만든다.
1. swap 파일 생성
아래 명령어를 통해 2G의 swap 파일을 생성
sudo fallocate -l 2G /swapfile
2. 파일 권한 설정
생성된 swap 파일에 보안상의 이유로 권한을 설정하여 root 권한으로만 읽기, 쓰기를 할 수 있도록한다.
root 권한 외의 사용자들이 접근 못하도록한다.
sudo chmod 600 /swapfile
3. swap 파일 초기화
초기화를 하는 이유는 운영체제가 해당 파일을 swap 공간으로 인식하고 관리할 수 있게 하기 위함이다.
초기화 과정에서 swap 파일은 스왑 공간으로 사용하기에 적합하고 특수한 파일시스템 형식으로 구성되며, 스왑 공간에 필요한 메타데이터가 포함된다.
sudo mkswap /swapfile
4. swap 파일 활성화
sudo swapon /swapfile
5. swap 파일 영구 활성화 (선택)
swapon 명령어만 수행할 경우 시스템이 재부팅될 때마다 swap 파일 설정이 비활성화된다. 매번 해주기 번거로우면 위 명령어를 통해 영구적으로 자동 활성화가 가능하다.
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
혹은
vi /etc/fstab의 맨 하위에 '/swapfile none swap sw 0 0'를 넣어주어도 된다.
6. swappiness 값 조절 (선택)
sudo sysctl vm.swappiness=60
swappiness 값은 운영체제가 얼마나 빈번하게 swap 메모리를 사용할지 결정하는 값이다.
기본값으로 60으로 설정되어 있으며 최소 0에서 최대 100까지 값을 지정할 수 있다.
영구적으로 변경하려면 /etc/sysctl.conf 파일에 vm.swappiness=10 을 추가하면 된다.
현재 값을 확인 시
sudo sysctl vm.swappiness
나는 LVM을 설정하였는데 swap으로 사용할 디스크를 미리 선택해 놓았다.
- 디스크 용량 전체를 swap으로 한다는 소리~
rhel-swap 253:1 0 6G 0 lvm
LV를 swap으로 사용하는 방법은 간단하다.
1. LV 초기화
mkswap /dev/mapper/<VG명>-<LV명>
# mkswap /dev/mapper/rhel-swap
2. swap 활성화
swapon /dev/mapper/<VG명>-<LV명>
# swapon /dev/mapper/rhel-swap
3. swap 영구 활성화 = 위와 동일하게 /etc/fstab에 등록
4. swap 해제 방법
swapoff /dev/mapper/rhel-swap
728x90
반응형
'OS > Linux' 카테고리의 다른 글
[Linux] 7일 전 로그 삭제 (0) | 2024.11.29 |
---|---|
[Linux] LVM (0) | 2024.11.06 |
[linux] rhel8 버전 간소화 보안취약점 스크립트 (0) | 2024.10.31 |
[Linux] if 문 문법 (0) | 2024.10.31 |
journalctl 명령어 사용 (0) | 2024.03.13 |