반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- os
- 도커 이미지
- 네트워크
- NGINX
- 쿠버네티스
- 도커 컨테이너
- devops
- AWS
- 데브옵스
- 클라우드
- 부스트코스
- Swift
- linux
- docker
- boj
- 도커
- centOS
- swift 클로저
- k8s
- 컨테이너
- C++
- ios
- 인프라
- 리눅스
- Python
- 도커 명령어
- kubernetes
- 운영체제
- centOS7
- 프로세스
Archives
- Today
- Total
귀염둥이의 메모
[Linux / CentOS 7] 스왑 파티션(Swap Partition) 지정하기, 가상 메모리(Virtual Memory) 본문
Infra & Devops/Linux
[Linux / CentOS 7] 스왑 파티션(Swap Partition) 지정하기, 가상 메모리(Virtual Memory)
겸둥이xz 2021. 8. 29. 13:01반응형
물리 메모리인 RAN의 용량 확장에는 많은 제약이 있다. 같은 용량의 디스크에 비해 가격이 매우 비싸고, 시스템 메인보드에 연결할 수 있는 슬롯에도 제한이 있어 무한정 확장이 불가능하다.
물리 메모리가 부족한 경우를 해결하기 위해 운영체제가 사용하는 방법은 가상 메모리(Virtual Memory)이다.
- 가상 메모리는 RAM + 스왑(SWAP)이다. 스왑은 디스크 장치에 생성되는 영역을 의미한다
- 윈도우에서는 페이징(Paging) 파일 관리를 하고, 리눅스에서는 스왑 파티션 영역이 있다
- 운영체제의 가상 메모리를 관리하는 가상메모리 관리자는 물리 메모리와 스왑 영역을 합산하여 가상 메모리로 사용한다
스왑 영역을 물리 메모리처럼 사용할 수 있다고 해서, CPU가 스왑 영역에 있는 데이터를 직접 접근하여 읽을 수 있는 것은 아니다.
CPU가 데이터 접근을 위해서 프로세스가 반드시 물리 메모리 영역에 존재해야 하고, 이때 만약 프로세스가 스왑 영역에 존재한다면 스왑 영역의 데이터를 물리 메모리 영역으로 Swap-In(Paged-In)하는 작업이 필요하다. 반대로 물리 메모리에 존재하는 프로세스의 우선순위가 낮거나 당분간 사용하지 않을 경우에는 다른 프로세스를 위해서 물리 메모리를 스왑 영역으로 Swap-Out(Paged-In) 해야 한다.
스왑 파티션 생성
- 현재 sdb에 두 개의 파티션이 존재하는데 sdb2 파티션을 제거하고 스왑 파티션을 지정해보자
파티션 제거
- fdisk 명령어로 sdb2 파티션을 제거했다
스왑 영역을 위한 파티션 생성
- 스왑 영역을 위해 500M의 sdb2 파티션을생성했다
파티션 타입 코드 확인
- 스왑 영역으로 사용하기 위해 파티션 타입을 스왑 장치용 파티션으로 설정해야 한다
- l 명령을 사용하면 사용 가능한 타입을 조회할 수 있다
- 82번 Linux swap / So 파티션을 사용한다
스왑 타입으로 변경
- t 명령으로 타입을 변경했다
- p 명령으로 확인해보면 Linux swap으로 변경되었다
- w 명령으로 저장해준다
스왑 영역 생성하기
- files -s /dev/sdb2 명령으로 확인하면 data 유형으로 출력된다
- sdb2 파티션에 아직 스왑 영역이 생성되지 않았기 때문이다
- mkswap 명령을 사용하여 파티션 장치를 지정하면 스왑 영역이 생성된다
스왑 영역 활성화
- 스왑도 파일 시스템과 파일 시스템에 등록하지 않으면 재부팅 시 활성화되지 않는다
- /etc/fstab을 직접 수정해도 가능하지만 swapon -a /dev/sdb2 명령으로 활성화 가능하다
참고자료
- 테크넷과 함께하는 엔터프라이즈 리눅스 햄식 운영 가이드 vol. 1
반응형
'Infra & Devops > Linux' 카테고리의 다른 글
[Linux] 시스템 콜 호출 확인 (strace) (0) | 2021.12.15 |
---|---|
[Linux] 리눅스 파일시스템 (디스크 기반, 네트워크 기반) (1) | 2021.10.28 |
[Linux / CentOS 7] 파티션 생성, 파일 시스템, 마운트, 영구 마운트 (0) | 2021.08.28 |
[Linux / CentOS 7] df -h, fdisk -l, lsblk (0) | 2021.08.28 |
[Linux / CentOS 7] LAMP 기반 WordPress 설치하기 (0) | 2021.08.25 |
Comments