SYS ADMIN
Linux개인서버 9 min read
Linux 메모리 Hardware Reserved 이슈 분석 및 Swap 운영 최적화 가이드
jay
2025년 12월 9일 23:21
미니 PC를 홈 서버로 세팅하던 중, 물리 메모리(RAM)는 16GB인데 시스템(Linux)에서는 12GB만 인식하는 현상을 발견했다.
이를 해결하기 위해 하드웨어 예약 메모리(Hardware Reserved) 원인을 분석하고, 서버 운영 안정성을 위해 Swap 메모리를 확장 및 커널 파라미터(Swappiness)를 튜닝한 과정을 기록한다.
목차
1. 문제 상황 및 원인 분석
1-1. 현상
free -h 명령어로 메모리 상태를 확인했을 때, 물리 메모리 16GB 중 약 12GB만 Total로 잡히는 현상 발생.
- Total Mem: 12Gi (Physical 16GB)
- Swap: 4.0Gi
1-2. 원인 파악 (Hardware Reserved)
dmidecode 명령어로 하드웨어 정보를 교차 검증함.
sudo dmidecode --type 17
# 결과: 16GB DDR5 SODIMM 모듈 정상 인식 확인
- 분석 결과: RAM 불량이 아닌, 최신 미니 PC(Ryzen/Intel)의 내장 그래픽(iGPU)이 VRAM으로 약 4GB를 강제 할당(Hardware Reserved) 하고 있어 OS가 사용할 수 없는 영역으로 잡힘.
- 대응 계획: 추후 BIOS의
UMA Frame Buffer Size조정을 통해 VRAM을 축소하기로 하고, 우선 OS 레벨에서 가용성을 확보하기 위해 Swap을 증설하기로 결정.
2. 해결 과정 1: Swap File 기반 용량 증설
기존 파티션 방식 대신 유연한 관리가 가능한 Swap File 방식을 사용하여 4GB를 추가 할당함 (Total 8GB).
수행 명령어
# 1. 4GB 크기의 빈 파일 생성 (fallocate 사용)
sudo fallocate -l 4G /swap_add.img
# 2. 권한 설정 (보안상 root만 접근 허용)
sudo chmod 600 /swap_add.img
# 3. Swap 영역으로 포맷
sudo mkswap /swap_add.img
# 4. Swap 활성화
sudo swapon /swap_add.img
# 5. 재부팅 시 자동 마운트 설정 (fstab)
echo '/swap_add.img none swap sw 0 0' | sudo tee -a /etc/fstab
3. 해결 과정 2: 커널 파라미터 튜닝 (vm.swappiness)
RAM 여유 공간이 충분함에도(Available 7.8Gi) 시스템이 Swap을 적극적으로 사용하여 I/O 성능 저하가 우려됨.
- AS-IS:
vm.swappiness = 60(기본값) - TO-BE:
vm.swappiness = 10- 설정 의도: 물리 메모리가 약 90% 찰 때까지는 Swap 사용을 최대한 자제시켜 애플리케이션 반응 속도 향상.
적용 명령어
# 1. sysctl 설정 파일 수정
sudo vi /etc/sysctl.conf
# 하단에 'vm.swappiness=10' 추가
# 2. 설정 즉시 로드
sudo sysctl -p
# 3. 기존 Swap 메모리 Flush (RAM으로 데이터 이동)
sudo swapoff -a && sudo swapon -a
4. 최종 결과 및 결론
작업 수행 후 시스템 리소스 모니터링 결과는 다음과 같다.
- Swap 용량: 4.0Gi → 8.0Gi (OOM Killer 방지 안정성 확보)
- 메모리 효율: 주요 프로세스(Java, Python, MySQL)가 Swap이 아닌 물리 RAM 상주 비율이 높아짐.
Next Step
- 모니터 연결 후 BIOS 진입하여 VRAM 할당량 최적화 (4GB → 1GB)
#Linux#Swappiness#메모리 인식#스왑 메모리
You might also like
Comments (0)
Leave a Reply
Or login to comment with your account.
No comments yet. Be the first to share your thoughts!