반응형
스왑(Swap)의 개요
- 시스템이 물리 메모리를 모두 소모하였을 때 스왑을 활용하면 부족한 메모리 공간을 극복하는데 도움이 된다.
- 시스템이 물리 메모리를 모두 소진하고 더 많은 메모리 공간이 필요할 때 메모리상의 비활성화된 메모리를 스왑 공간으로 이동하여 메모리 공간을 확보하는 기술을 '스왑'이라 한다.
- 스왑은 물리 메모리보다 액세스 속도는 느리나 가격이 저렴한 하드 용량을 사용한다. 스왑 공간은 swap partition이나 swap file 형태로 만든다.
- 과거에는 스왑의 크기가 RAM의 크기와 비례해서 증가했다. 요즘 시스템 RAM은 넉넉하기 때문에 스왑 공간의 크기는 시스템이 실제 사용하는 메모리의 양에 근거하여 설정하면 효과적이다.
- 보통 스왑 공간의 크기는 리눅스 설치 시에 결정한다.
스왑 파일 생성하기
- 스왑 목적으로 사용할 파일 생성하기
- dd 명령어를 사용하여 1024000 블록으로 구성된 /swapfile을 생성한다. 블록 한 개의 크기는 1024바이트이다.
- 스왑 파일의 허가권 설정하기
- 스왑 파일을 초기화한다.
- # mkswap /swapfile3
- 스왑 파일을 시스템에 인식한다.
- # swapon /swapfile3
- 스왑 파일 설정을 영구적으로 저장하기
- /etc/fstab 파일에 스왑 설정을 추가한다. 시스템을 리부팅해도 스왑 설정은 유지된다.
- /swapfile3 swap swap defaults 0 0
스왑 파일 삭제하기
- 스왑 파일 해제
- # swapoff -v /swapfile3
- /etc/fstab 항목 삭제
- 스왑파일 삭제
- # rm /swapfile3
스왑 파티션 생성하기
- 새 파티션 생성하기
- # fdisk /dev/sdc
- n -> p -> 1 -> enter -> enter: new, primary partition, partition number
- 파티션 타입 변경하기
- 스왑 파티션 초기화하기
- # mkswap -L MySwap -c /dev/sdc
- 스왑 파티션 활성화하기
- 스왑 파일을 시스템에 인식할 때와 마찬가지로 스왑 파티션 /dev/sdc를 활성화한다. 정상 수행되었는지 확인하려면 'swapon -s' 명령어를 사용한다.
- 스왑 파티션 설정 영구 적용하기
- /etc/fstab에 등록
- /dev/sdc swap swap defaults 0 0
- /etc/fstab에 등록
스왑 명령어 세부 설명
- mkswap
- 지정한 디스크나 파티션에 스왑 영역을 설정하는 명령어
- 형식: mkswap [option] swap_file 또는 swap_partition
- 옵션
- -c, --check: 스왑 영역을 생성하기 전에 배드블록을 체크한다.
- -L, --label: 라벨을 지정한다. 이 라벨을 통해 swapon 할 수 있다.
- -f, --force: 지정한 파일이나 파티션보다 더 큰 스왑 영역을 설정하려 할 때 실패 무시하고 수행한다.
- 예제
- # mkswap /swap-file 10240
- swapon
- 지정한 스왑 파일이나 스왑 파티션에 대한 스왑 기능을 활성화한다.
- 형식: swapon [option] swap_file 또는 swap_partition
- 옵션
- -a, --all: /etc/fstab에 설정된 모든 항목에 대하여 스왑 기능을 활성화한다. 단, nsauto 옵션을 사용한 항목은 제외한다.
- -s, --summary: 스왑 기능이 활성화된 스왑 파일이나 스왑 파티션의 목록을 출력한다. 'cat /proc/swaps'와 동일한 기능이다.
- swapoff
- 지정한 스왑 파일이나 스왑 파티션에 대한 스왑 기능을 비활성화한다.
- 형식: swapoff [option] swap_file 또는 swap_partition
- 옵션
- -a, --all: /etc/fstab상의 모든 항목에 스왑 기능을 비활성화한다.
- free
- 물리 메모리의 사용량, 스왑 메모리 사용량, 커널의 메모리 사용량, 사용 가능한 메모리 양 등 메모리의 사용 상태를 출력하는 명령어이다. buffer/cache나 swap의 미사용 중인 메모리가 부족한 경우 메모리 업그레이드를 고려해야 한다. 이 메모리가 부족하면 잦은 하드디스크 접근이 발행하고 성능 저하로 이어진다.
- 형식: free [option]
- 옵션
- -b, --bytes: 메모리 정보를 바이트 단위로 출력한다.
- -k, --kilo: 킬로 단위로 출력한다.
- -m, --mega: 메가바이트 단위로 출력한다.
- -g, --giga: 기가바이트 단위로 출력한다.
- -h, --human: 알아보기 쉽게 출력한다.
- -s, --seconds: 지정한 시간(초 단위)마다 출력을 갱신한다.
- 출력 형식
- total
- used
- free
- shared
- buffers
- cached
- -/+ buffers/cache
- Swap
- 예제
- # free -hs 1
반응형
'Linux > 리눅스 시스템 관리' 카테고리의 다른 글
02_05 부트 매니저(Boot Manager) (0) | 2022.03.12 |
---|---|
02_04 LVM과 RAID (0) | 2022.03.12 |
02_02_파일 시스템 점검 (0) | 2022.03.10 |
02_01_파일 시스템 관리 및 복구 (0) | 2022.03.10 |
01_02_06_텍스트 관련 명령어 (0) | 2022.03.08 |