리눅스 시스템에서는 메모리가 부족해 질 경우 발생하는 오류 (메모리 할당 오류 등)를 방지하기 위해 SWAP 영역을 사용한다.
SWAP 영역이란 메인 메모리의 공간이 부족해 질 때 메모리의 일부를 디스크에 저장하고, 사용하는 순간에만 잠시 메인 메모리(RAM)에 불러와 사용하기 위한 공간이다.
OS, 커널의 정책마다 SWAP 영역으로 내보낼 메모리 를 선정하는 방법이 다르며, 어느 시점에 내려보낼지에 대한 설정도 제각각 이다.
또한 같은 OS, 커널을 사용한다 하더라도 시스템 설정값의 변경을 통해 서로 다른 결과가 나타날 수 있다.
위의 사진과 같이 아직 메인 메모리의 공간이 남아 있음에도, 미리 SWAP영역으로 내보내는 경우가 발생하기도 한다.
CentOS에서는 스왑에 대한 정책을 sysctl 또는 /etc/sysctl.conf 을 통해 변경할 수 있다.
스왑 적극도 값 변경 및 적용 (swappiness)
메모리 스왑 횟수를 줄여, 스왑시 발생하는 속도 저하를 해결하기 위해선 swappiness 값을 변경해야 한다.
이는 swap을 얼마나 적극적으로 활용하는지 대한 설정으로 이 설정은 vm.swappiness 값의 변경을 통해 지정된다.
값의 범위는 0~100으로 되어 있으며, 0이면 스왑을 사용하지 않고, 100이면 적극적으로 스왑을 사용하게 된다.
값에 대한 설명은 아래 표와 같다.
값 | 설명 |
0 | 스왑하지 않음 |
1~99 |
값이 커질수록 적극적으로 스왑 작아질 수록 소극적으로 스왑 |
100 | 적극적으로 스왑 |
기본 설정은 60으로 되어있으며, 적극도는 설정된 값에 비례한다.
sysctl 명령어를 이용하여 설정하면, 현재 부팅된 시스템에 임시적으로 적용된다.
sysctl vm.swappiness=10 #원하는 설정값 입력, 예제에선 10
위의 값을 쉘에 입력하면 된다.
영구적으로 적용하기 위해선, /etc/sysctl.conf 에 입력한다.
'OS > Linux' 카테고리의 다른 글
[Linux] rbash - 사용자 명령어 사용 제한 (0) | 2023.07.12 |
---|---|
[CentOS] Gnome 설정화면을 X11 forwarding 에서 실행하기 (1) | 2020.06.02 |
[CentOS 7] Gnome환경에서 ssh를 이용하여 Display 항상 켜기로 설정 (0) | 2020.06.02 |
CentOS + QTCreator 환경에서 Distcc 빌드 설정하기 (0) | 2020.04.08 |
[CentOS] 최신 버전의 Git으로 업데이트 하기 (0) | 2019.07.17 |
[CentOS 7] Multicast Packet을 Loopback으로 송/수신 (0) | 2019.06.21 |
[CentOS] Gnome 환경에서, Titlebar 크기 조절하기 (0) | 2019.05.27 |
umask를 이용해서 Default Permission 주기 (0) | 2014.08.29 |