728x90
728x170
스왑(Swap)
스왑(Swap)의 개요
- 하드 디스크의 일부를 마치 메모리처럼 사용하게 해주는 기술
- 일반적으로 리눅스 설치 시에 설정한다.
- 스왑 영역이 부족한 경우, 리눅스 설치 후에도 디스크의 남은 공간이나 파티션을 이용해서 추가 설정할 수 있다.
관련 명령어
① mkswap
- 스왑 파티션이나 스왑 파일을 생성하는 명령
사용법
# mkswap [option] 스왑_파일 [size]
# mkswap [option] 스왑_파티션
주요 옵션
주요 옵션 | 설명 |
-c | 스왑 파티션을 생성하기 전에 배드 블록(Bad Block)을 검사해주는 옵션 |
사용 예
- 10240K 크기의 /swap-file을 생성
- 크기를 나타내는 10240은 생략 가능
# mkswap /swap-file 10240
- /dev/sdb2의 배드 블록 여부를 검사한 후에 스왑 파티션으로 생성
# mkswap -c /dev/sdb2
② swapon
- 스왑 파티션이나 스왑 파일을 활성화시키는 명령
- 스왑의 상태 확인도 가능
사용법
# swapon [option] 스왑_파일
# swapon [option] 스왑_파티션
주요 옵션
주요 옵션 | 설명 |
-a | /etc/fstab 파일에 등록된 스왑 영역을 전부 활성화시킴. (noauto 옵션이 설정된 경우는 제외) |
-s | 스왑 영역의 상태 출력 |
사용 예
- /swap-file 활성화
# swapon /swap-file
- /dev/sdb2 활성화
# swapon /dev/sdb2
- /etc/fstab 파일에 설정된 스왑 영역을 전부 활성화
# swapon -a
- 현재 스왑 상태 출력
# swapon -s
③ swapoff
- 활성화된 스왑 파티션이나 스왑 파일을 중지시키는 명령
사용법
# swapoff [option] 스왑_파일
# swapoff [option] 스왑_파티션
주요 옵션
주요 옵션 | 설명 |
-a | 모든 스왑 영역을 중지시킴. |
사용 예
- /swap-file을 중지시킴.
# swapoff /swap-file
- 모든 스왑 영역을 중지시킴.
# swapoff -a
④ free
- 현재 사용 중인 메모리의 상태를 출력 해주는 명령
사용법
$ free [option]
주요 옵션
옵션 | 설명 |
-m | 메모리의 상태를 MB 단위로 출력 |
-k | 메모리의 상태를 KB 단위로 출력 |
-h | - 사람들이 보기 편하게 다음과 같은 단위를 붙여서 출력함. ▶ B : Bytes ▶ K : Kilos ▶ M : Megas ▶ G : Gigas ▶ T : Teras - --human |
사용 예
$ free -m
total used free shared buff/cache available
Mem: 1819 805 335 22 678 831
-/+ buffers/cache: 429 7376
Swap: 2047 0 2047
- Mem
- 물리적 메모리의 상태를 나타내는 부분
- total : 전체 메모리 용량
- used : 사용 중인 메모리 용량
- free : 사용되지 않고 있는 메모리 용량
- shared : 프로세스간 공유되고 있는 메모리 용량
- buffers : 버퍼 메모리로 사용되는 양
- cached : 캐시 메모리로 사용되는 메모리 용량
- -/+ buffers/cache
- 버퍼나 캐시 메모리로 사용되는 영역을 제외하고 실제 사용 중인 메모리와 남은 영역을 출력
- Swap
- 스왑 영역의 메모리 상태를 나타내는 부분
- used : 사용 중인 스왑 메모리의 용량
- free : 사용되지 않고 있는 스왑 메모리의 용량
스왑 영역 만들기
(1) 스왑 파일 생성하기
① dd 명령을 이용하여 원하는 파일의 크기만큼 스왑 파일을 생성한다.
# dd if=/dev/zero of=/swap-file bs=1k count=1024000
- if에 사용한 /dev/zero : 이름 그대로 초기화할 때 사용하는 장치 파일명
- of : 생성할 파일명을 입력
- bs : 블록 크기를 지정하는 항목으로 단위를 붙이지 않으면 바이트로 처리
- count : bs에 설정한 블록의 개수 (1GB)
② 스왑 파일 생성
# mkswap /swap-file
③ 스왑 파일 활성화
# swapon /swap-file
④ 시스템 부팅 시마다 사용할 경우에는 /etc/fstab 파일에 등록
/swap-file swap swap defaults 0 0
(2) 스왑 파티션 생성하기
① fdisk 명령을 이용하여 스왑 파티션 생성
# fdisk /dev/sdb
- 파티션 분할 생성 후에 t 명령을 이용해서 파티션의 속성을 스왑 영역의 코드인 82로 입력해야 함.
- 여기서 /dev/sdb2로 생성했다고 가정함.
② 스왑 파티션 생성
# mkswap -c /dev/sdb2
③ 스왑 파티션 활성화
# swapon /dev/sdb2
④ 시스템 부팅 시마다 사용할 경우에는 /etc/fstab 파일에 등록
/dev/sdb2 swap swap defaults 0 0
문제 해결 전략
- 스왑과 관련된 명령어를 암기한 후, 필요할 때마다 man 명령어를 사용하여 메뉴얼을 확인해가며 문제를 해결한다.
- 스왑 파일/파티션을 생성하는 과정을 암기한다.
문제 유형
① dd 명령어를 사용하여 스왑 파일을 조건에 맞게 생성하는 문제
- man dd 명령어를 사용하여 메뉴얼을 보며 문제를 해결한다.
- if = input file, of = output file
# dd ( if=/dev/zero ) ( of=/swap_file ) ( bs=1k(1024/1000/1KB) ) ( count=1024000(1000000) )
728x90
그리드형(광고전용)
'Certificate > Linux Master' 카테고리의 다른 글
[리눅스마스터 1급 실기] man 명령어 사용법 (0) | 2022.05.12 |
---|---|
[리눅스마스터 1급 실기] yum (0) | 2022.05.11 |
[리눅스마스터 1급 실기] rpm (0) | 2022.05.11 |
[리눅스마스터 실기] 압축 유틸리티 정리 (tar, compress, gzip, bzip2, xz, zip, gcc) (0) | 2022.05.11 |
[리눅스마스터 1급 실기] 모듈 (modules.dep, depmod) (0) | 2022.05.10 |
[리눅스마스터 1급 실기] 디스크 쿼터(Disk Quota) (0) | 2022.05.10 |
[리눅스마스터 1급 실기] 디스크 관련 정보 (UUID, blkid) (0) | 2022.05.10 |
[리눅스마스터 1급 실기] 텔넷(telnet) (0) | 2022.05.10 |