리눅스에서의 스왑 공간(swap space)
리눅스에서 스왑 공간(swap space)은 물리적 메모리(RAM)의 용량이 가득 차게 될 경우 사용되는 여유 공간을 말합니다. 즉, 시스템이 처리하고 있는 데이터를 저장할 RAM이 충분하지 않을 때 스왑 공간에 이 데이터를 기록합니다. Ubuntu, Oracle Linux 설치 시 설치프로그램이 제안하는 기본 파티션으로 설치하면 스왑 공간 없이 OS 설치가 완료됩니다.
요즘같이 대용량 메모리를 사용하는 시대에 스왑 공간은 필요없을 수 있지만 DBMS와 같은 일부 응용프로그램에서는 설치단계에서 스왑 공간이 없으면 설치를 진행할 수 없습니다. 이럴 경우 스왑 파일을 직접 생성하고, 초기화 및 사용으로 설정하여 스왑 공간의 양을 늘릴 수 있습니다.
1. root 계정으로 전환하여 스왑 공간의 양을 확인
(sudoers group에 포함되어 있는 계정에서) sudo -i 또는 sudo - root 실행 후 아래 명령어들로 스왑 공간을 확인합니다.
- grep -i swap /proc/meminfo
- free -h
- swapon -s
2. dd 명령을 사용하여 스왑 파일을 만들고 스왑파일 초기화 후 사용으로 설정
- dd if=/dev/zero of=/.swapfile bs=4096 count=2097152
- mkswap /.swapfile
- chmod 600 /.swapfile
- swapon /.swapfile
if: 입력파일입니다. /dev/zero는 0바이트 스트림을 제공합니다.
of: 출력파일입니다. 루트 디렉터리에 숨김파일로 swapfile을 생성합니다.
bs: 블록 크기(바이트 단위)입니다. 한 번에 입력 파일에서 읽고 출력 파일에 쓸 바이트 수입니다.
count: 읽고 쓸 블록 수입니다. 이 숫자에 bs 값을 곱해 파일 크기를 구하게 됩니다. 4k 쓰기 단위에서 1GB 스왑 파일을 만들려면 count가 262144인데 8GB 크기를 만들 것이므로 262144 x 8 = 2097152로 정했습니다.
mkswap으로 dd로 생성한 파일을 스왑파일 포맷으로 변경합니다.
dd로 파일 생성 시 644 권한으로 생성되는데 insecure permissions 경고가 발생하므로 root만 swapfile을 읽고 쓸 수 있도록 600으로 권한을 변경합니다.
swapon으로 새 스왑 파일이 있음을 Linux에 알려줍니다. 그럼 swap 파일이 활성화됩니다.
3. fstab에 스왑 파일(Swap file) 추가
(2)까지 진행 후 재부팅하고 보면 Swap Space가 비활성화되어 있습니다. 재부팅 후에도 스왑 영역이 유지되도록 /etc/fstab에 추가해야 합니다. "vi /etc/fstab"으로 파일을 열어 편집하세요.
"/.swapfile none swap sw 0 0" 을 맨 아랫줄에 추가하고 "wq" 명령으로 저장 후 종료합니다.
fstab 필드는 다음과 같습니다.
- 파일 시스템: /.swapfile
- 마운트 지점: 파일시스템처럼 마운트 하지 않았으므로 none
- 유형: swap
- 옵션: 기본값 sw
- 덤프: 0 해당 없음
- 통과: 0 해당 없음
4. 스왑 사용량 확인
swapon --show로 확인가능합니다.
systemctl reboot 명령으로 재부팅 후에도 정상여부 확인합니다.
이상으로 스왑 공간 증가 방법에 대해 알아보았습니다.
'Windows | Linux' 카테고리의 다른 글
[Linux] 리눅스 절전 모드 방지 설정 (0) | 2023.12.14 |
---|---|
[WINDOWS] 네트워크 어댑터 우선순위 변경하기 (0) | 2023.12.13 |
virtualbox 오라클리눅스 설치 oracle linux Server (0) | 2023.11.28 |
Ubuntu Server 20.04.4 C/C++ 개발환경 (0) | 2022.03.13 |