Swap
Categories
Examples
- DiskPartitioning:Example:UEFI_with_GPT: fdisk를 사용한 UEFI with GPT 파티션 방법.
Linux swap sapce
리눅스는 물리적 RAM (random access memory)을 페이지라고하는 메모리 덩어리로 나눕니다. 스와핑은 메모리 페이지를 하드 디스크의 스왑 공간이라고하는 미리 구성된 공간에 복사하여 해당 메모리 페이지를 비우는 프로세스입니다. 실제 메모리와 스왑 공간의 결합 된 크기는 사용 가능한 가상 메모리의 양입니다.
권고1. 메모리 2배
- 일반적으로 메모리 크기의 약 2배 정도로 잡는다.
- 단, 최소 256MB 이상으로 한다.
권고2. 레드햇 권고 (RHEL 6)
RAM 용량 | 스왑공간 권장량 | 하이버네이션 사용시 스왑공간 권장량 |
2 GB 미만 | RAM의 2배 | RAM의 3배 |
2 ~ 8 GB | RAM과 동일 | RAM의 2배 |
8 ~ 64 GB | 4 GB 이상 | RAM의 1.5배 |
64 GB 초과 | 4 GB 이상 | (하이버네이션 권장 안함) |
- 하이버네이션(Hibernation) 혹은 재우기는 시스템 전원을 끄기 전에 시스템 메모리에 있는 모든 내용을 하드 디스크와 같은 비휘발성 메모리에 기록하는 기능이다.
스왑파일 추가 스크립트 (간단ver)
아래 내용 보기 싫다면 간단히 아래 참조.
SWAPFILE_PATH=/swapfile2
fallocate -l 8GB "${SWAPFILE_PATH}"
chmod 600 "${SWAPFILE_PATH}"
mkswap "${SWAPFILE_PATH}"
swapon "${SWAPFILE_PATH}"
echo "${SWAPFILE_PATH} none swap sw 0 0" >> /etc/fstab
swapon -s
스왑 파일 확인/생성/등록/해제/제거 방법
스왑 메모리 확인:
$ free -m
total used free shared buff/cache available
Mem: 15418 6786 3986 161 4645 8149
Swap: 2047 1376 671
스왑 파일이 지정되어 있는지 확인:
기존 스왑 파일(/swapfile
)을 시스템과 연결 해제:
스왑 파일 제거:
만약 그냥 제거만 할거라면 /etc/fstab에 연결되어 있는 내용을 제거해라.
fallocate명령으로 빈 파일 생성:
스왑 파일은 시스템에서만 접근 가능하도록 권한 변경:
빈 파일을 스왑 파일로 포맷:
root@your-13UD70P:/# mkswap /swapfile
Setting up swapspace version 1, size = 7.5 GiB (7999995904 bytes)
no label, UUID=0ae793bf-7bb3-4a19-8de8-b7ce5b744c00
스왑 파일을 시스템에 연결:
잘 연결되었나 확인:
필요하다면 /etc/fstab에 등록:
스왑 메모리 초기화 방법
메모리가 넉넉해도 스왑 메모리를 사용할 수 있다. 이 때 사용된 스왑 메모리는 시스템 성능에 영향을 주므로 메모리를 해제하는 편이 좋다.
스왑 메모리 사용 빈도 조절
만일 실제 메모리가 넉넉함에도 스왑 메모리를 자주 사용하는 경우 스왑 사용 빈도를 조절할 수 있다.
0~100 사이의 값으로 사용 빈도 조절 가능.
다음과 같이 0으로 만들면 사용 안 한다는 의미:
시스템 재부팅시 적용하고 싶다면 /etc/sysctl.conf
파일에 다음 내용 추가:
프로세스별 Swap 메모리 사용량 확인 방법
- htop에서는 F2 -> Columns 에서 M_SWAP 를 추가. (특정 버전은 이 Column이 없더라)
- top에서는 f 를 누르고 SWAP 필드를 추가.
- smem를 사용. 간단히
smem -t
-
grep Swap /proc/*/status
으로 직접 확인. - vmstat 사용 (시스템 전체 swap 사용량)
vmstat -s | grep "used swap"
- free 사용. (전체 swap 사용량)
free -m
See also
Favorite site
- 메모리 구조와 Swap 영역
- 리눅스 스왑(SWAP) 파티션이란 무엇? 어떤 일을 하나요?
- KLDP: 요즘도 swap partition 이 필요한가요?
- 리눅스 스왑(SWAP) 파티션이란 무엇? 어떤 일을 하나요? :: 서지스윈 @IT. 블로그 매거진
- [추천] Swap - ArchWiki
- 스왑(Swap) 파일 생성
- 리눅스 스왑공간 크기 권고 - 제타위키
- [추천] Linux Partition HOWTO - 4. Partitioning requirements
- Red Hat Enterprise Linux 권장 swap 크기는 어떻게 되나요? - Red Hat Customer Portal