728x90
SMALL
[정의]
리눅스 시스템에서 물리적인 RAM이 부족할 때 사용하는 디스크 공간
[사용되는 상황]
- RAM 부족: 시스템의 물리 메모리가 부족할 때, 프로세스가 사용하는 데이터를 스왑 공간에 저장.
- 백그라운드 작업: 장기 실행 프로세스나 활동이 적은 프로세스를 RAM에서 스왑으로 옮겨 더 중요한 작업에 RAM을 할당.
- 시스템 안정성 유지: RAM 부족으로 인해 시스템이 중단되는 것을 방지.
[상태 확인]
# 현재 스왑 사용량 확인
free -h
swapon --show
Swap: 2.0G 1.8G 0.2G
- Used = 1.8 G
- Size = 2.0 G
=============================================
스왑 사용량 계산: (1.8 / 2.0) x 100 = 90%
==============================================
10~30% 사용 [정상] 백그라운드 프로세스가 RAM 대신 스왑을 일부 사용하는 상태로 시스템이 안정적임.
30~60% 사용 [주의] RAM이 부족해지고 있으며, 스왑 의존도가 높아지고 있는 상태. 향후 상황을 주시해야 함.
60% 이상 [과다] RAM이 부족해 시스템이 디스크 스왑을 과도하게 사용하는 상태. 성능 저하가 발생할 가능성 있음.
90% 이상 [위험] 디스크 스왑 사용으로 인해 I/O 병목 현상이 발생하며, 성능 저하 및 시스템 불안정 가능성이 높음.
Case1: [스왑 사용량 줄이기]
1. 스왑 해제
# 긴급 상황에서 디스크 스왑을 초기화.
sudo swapoff -a
sudo swapon -a
2. RAM 사용량 최적화
# 불필요한 프로세스 종료
ps aux --sort=-%mem | head -n 10
kill <PID>
3. swappiness 조정
# 현재 swappiness 값 확인
cat /proc/sys/vm/swappiness
# swappiness 값을 조정하여 스왑 사용 빈도를 줄임
sudo sysctl vm.swappiness=10
# /etc/sysctl.conf 파일에 추가하여 영구적으로 적용:
vm.swappiness = 10
스왑 공간 크기 설정 기준
- RAM 2GB 이하: 스왑 크기를 RAM의 2배로 설정.
- RAM 2~8GB: RAM 크기와 동일하게 설정.
- RAM 8GB 이상: 시스템 용도에 따라 스왑 최소화 가능.
4. 상태 확인
vmstat 1
1. swappiness 값을 늘리는 이유
swappiness 값을 늘리면 스왑 메모리를 더 적극적으로 사용합니다. 아래와 같은 경우에 유용합니다:
1.1 RAM이 부족한 경우
- 상황: 시스템에 설치된 RAM이 부족하고 추가적인 RAM 증설이 불가능한 경우.
- 이유: 스왑 메모리를 적극 활용하여 RAM 과부하를 줄이고 시스템 중단을 방지.
1.2 백그라운드 작업이 많을 때
- 상황: 장기 실행 프로세스(예: 로그 수집, 데이터 백업)가 많을 경우.
- 이유: 중요한 애플리케이션에 RAM을 할당하기 위해 우선순위가 낮은 백그라운드 프로세스를 스왑으로 이동.
1.3 서버 안정성 확보
- 상황: RAM 과부하로 인해 Out of Memory(OOM) 문제가 발생할 가능성이 높을 때.
- 이유: 스왑 공간을 활용해 안정성을 높이고, 시스템이 강제로 프로세스를 종료하지 않도록 함.
2. swappiness 값을 줄이는 이유
swappiness 값을 줄이면 RAM을 최대한 활용하고 스왑 사용을 최소화합니다. 아래와 같은 경우에 유용합니다:
2.1 RAM이 충분한 경우
- 상황: 시스템에 충분한 RAM이 설치되어 있음.
- 이유: 스왑을 사용하는 대신 빠른 RAM을 적극 활용하여 성능 향상.
2.2 디스크 I/O 부하를 줄이기 위해
- 상황: 디스크 성능이 낮거나 스왑 사용으로 인해 디스크 I/O 병목 현상이 발생.
- 이유: 스왑 사용을 줄이면 디스크 액세스가 줄어 시스템 응답 속도가 개선됨.
2.3 애플리케이션 성능 최적화
- 상황: RAM에 데이터를 유지해야 하는 고성능 애플리케이션이 실행 중(예: 데이터베이스, 캐시 서버).
- 이유: RAM의 높은 속도를 활용해 애플리케이션 성능 최적화.
요약
- swappiness 값을 늘리면: 메모리가 부족한 환경에서 안정성 강화 및 백그라운드 작업을 스왑으로 이동.
- swappiness 값을 줄이면: RAM을 최대한 활용하여 성능을 향상하고 디스크 I/O 부하를 줄임.
LIST
'🐳 Infra > System' 카테고리의 다른 글
[Linux] DIsk 용량 확보 팁 (0) | 2024.12.19 |
---|---|
RAM 부족 시 대처 방안 (1) | 2024.12.19 |
HA (High Availability, 고가용성) (0) | 2024.12.12 |
docker 컨테이너 주요 명령어 (0) | 2024.03.28 |
Microsoft Active Directory (2) | 2024.03.22 |