하드디스크의 일부를 RAM처럼 사용할 수 있게 만드는 기술
프로세스가 swap 영역에 존재한다면, swap 영역의 데이터를 물리 메모리 영역으로 이동시키는 작업
물리 메모리에 위치한 프로세스의 우선순위가 낮거나 당분간 사용하지 않을 경우, 다른 프로세스를 위해 물리 메모리를 swap 영역으로 이동하는 작업
⇒ 둘을 합쳐서 Paging이라 한다.
물리적인 메모리 RAM 은 CPU가 처리하는 데이터가 임시저장되는 공간이다.
스왑은 만약 프로그램 용량이 커서 RAM에 수용할 수 있는 용량을 초과하는 경우를 대비해서 예비공간의 역할을 수행한다.
RAM 안에 있는 데이터들에는 우선순위가 존재한다.
메모리 용량이 초과하면 당장 쓰이지 않는, 우선순위에서 밀려난 데이터들은 스왑공간에 저장되어 처리된다.
하지만 속도는 RAM에 비해 현저히 느리다.
스왑메모리는 사용할 수 있는 메모리영역을 확장하는데에 도움을 주지만 데이터가 처리되는 속도는 RAM을 따라가진 못한다.
파티션 방식
swap 파티션 구성
fdisk → mkswap → swapon 스왑 활성화(mount 명령어와 비슷)
44 free
45 fdisk /dev/vdba
46 partprobe
47 lsblk
48 mkswap /dev/vdb8
49 lsblk
50 swapon /dev/vdb8
51 free
reboot
free
swap file 구성
mkdir → dd swap 영역의 모든 데이터를 0으로 덮어 씌움
mkswap - swapon 활성화
영구 mount : /etc/fstab
55 mkdir /swapdir
56 dd if=/dev/zero of=/swapdir/swapfile bs=1M count=1024
57 ls -al /swapdir/swapfile
58 chmod 600 /swapdir/swapfile
59 mkswap /swapdir/swapfile
60 free
61 swapon /swapdir/swapfile
62 free
63 lsblk
64 vi /etc/fstab
66 free
67 fr
70 swapoff -a #껐다가
71 free
72 swapon -a #켜도 됨
73 free
swap 파일을생성하기 위해 FS라는 중간 단계가 필요 → swap partition에 비해 성능 ↓
파티션의 경우 디스크에서 연속된 공간에 위치하지만, FS 내의 파일 형태로 저장된 swap 파일은 디스크에서 연속된 공간을 할당받지 못할 수 도 있기 때문 → swap 영역의 성능 더욱 ↓
but 별도의 파티션 확보가 필요하지 않다는 장점이 있다.
<aside> 💡 영구 마운트 설정이 잘못되면 재부팅시 emergency mode로 접속된다. 이때 fstab 파일에 추가한 설정을 지우면 된다.
</aside>