SWAP(paging space)
파일 시스템의 일종, 디스크 내에 존재하는 가상적인 메모리 공간, 물리적인 메모리(RAM) 의 연장공간 처럼 쓰이는 공간.
프로세스는 실행될 시 RAM에서 실행되어 CPU로 처리됨, 이때 RAM이 pool 의 경우 disk 중 일부공간을 가상메모리 공간으로 활용하여 작업을 지속한다. 이때 ram 과 swap 공간을 오고가는것을 paging 이라고 한다.
* /proc/swaps 를 참조
1. swap 관련 이슈
- 언제 스왑을 추가하는가 : RAM 의 사용량 증가 추세이며 80% 이상을 점유할때. (90% 가 넘을 시 현저히 느려짐)
- 스왑 공간의 크기
1) 초기 설치시 : 하단 스왑 공간 크기의 대한 권장사항표 참고.
2) 운영중 : 운영중인 DB 의 권장 사항에 맞춰서 적용 ( ex) oracle, my sql 등 )
- 스왑을 추가하면 성능이 좋아지는가 : 성능이 좋아지는것은 아님, 안정성을 위해 (운영체제 ham 등) 추가 필요.
[참조] 스왑 공간 크기의 대한 권장 사항. (radhat 기준)
RAM size | SWAP size |
2GB 이하 | RAM x2 |
2GB ~ 4GB | RAM 과 동일 |
8GB ~ 64GB | 4GB 이상 |
64GB 초과 | 4GB 이상 |
2. 스왑 추가 방법.
* 스왑 공간 확인 방법.
free / top
cat /proc/swaps
cat /proc/meminfo
[참고] swap Priority : 스왑공간의 우선순위. 낮으면 우선순위가 높고 높으면 우선순위가 낮음.
1) swap file ( ex : /swap/swapfile ) 생성 / 삭제
생성
[root@server1 ~]# free
total used free shared buff/cache available
Mem: 3798428 1352760 1595980 17996 849688 2175000
Swap: 2129916 0 2129916
[root@server1 ~]# mkdir /swap
[root@server1 ~]# dd if=/dev/zero of=/swap/swapfile bs=1024 count=102400
[root@server1 ~]# mkswap /swap/swapfile
[root@server1 ~]# swapon /swap/swapfile
[root@server1 ~]# free
total used free shared buff/cache available
Mem: 3798428 1361244 1483584 18616 953600 2165592
Swap: 2232312 0 2232312
* 부팅시에도 자동 적용 희망시 /etc/fstap 으로 지정.
/swap/swapfile none swap defaults 1 2
삭제
[root@server1 ~]# swapoff /swap/swapfile
[root@server1 ~]# free
total used free shared buff/cache available
Mem: 3798428 1363712 1477648 18624 957068 2163040
Swap: 2129916 0 2129916
[root@server1 ~]# rm -f /swap/swapfile
2) swap partition ( ex : /dev/sdb1, /dev/vg1/swaplv ) 생성 / 삭제
생성
[root@server1 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 2129916 0 -2
[root@server1 ~]# fdisk /dev/sdb1
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2097151 2095104 1023M 83 Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2097151 2095104 1023M 82 Linux swap / Solaris
Command (m for help): w
[root@server1 ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 1023 MiB (1072689152 bytes)
no label, UUID=e506efb8-70f0-436e-9d0f-b025b8bc1e20
[root@server1 ~]# swapon /dev/sdb1
[root@server1 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 2129916 0 -2
/dev/sdb1 partition 1047548 0 -3
* 부팅시에도 자동 적용 희망시 /etc/fstap 으로 지정.
/dev/sdb1 none swap defaults 1 2
삭제
[root@server1 ~]# swapoff /dev/sdb1
[root@server1 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 2129916 0 -2
스왑 간단하네~
'모의해킹 침해대응 과정 > Liunx 관리' 카테고리의 다른 글
리눅스 사용자 그룹관리 / day 12 (0) | 2021.04.14 |
---|---|
리눅스 software 관리 RPM/YUM / day 10 (0) | 2021.04.12 |
리눅스 RAID / day 9 (0) | 2021.04.09 |
리눅스 LVM / day 8, 9 (0) | 2021.04.08 |
리눅스 Mount / day 8 (0) | 2021.04.08 |