저희 서버 메모리는 가득 차있는데, 프로그램 돌리면 퍼포먼스가 잘 안나와요!
모니터링 해보면 일정량의 swap memory를 계속 사용해서 그런 것 같아요 🧐
VM swappiness: 리눅스 시스템 성능을 최적화하기 위한 핵심 요소
리눅스 운영 체제는 다양한 성능 향상 기능을 제공하며, 그 중 하나가 VM swappiness입니다.
VM swappiness는 시스템의 메모리 관리와 관련된 중요한 개념으로, 시스템 성능을 튜닝하고 최적화하는 데 중요한 역할을 합니다.
이 글에서는 VM 스와피니스에 대해 자세히 알아보고, 어떻게 시스템 성능을 향상시킬 수 있는지 살펴보겠습니다 🙂
VM swapiness란?
VM 스와피니스는 리눅스 커널에서 제공해주는 파라미터 중 하나로, 시스템이 얼마나 자주 swap area를 사용하는지를 조절합니다.
Swap area는 물리적인 RAM 메모리가 부족할 때 사용되며, 디스크 공간을 가상 메모리로 확장하는 역할을 합니다. VM 스와피니스 값은 0에서 100까지의 범위를 가지며, 이 값을 조절하여 시스템이 어떤 상황에서 스왑을 사용하고 어떤 상황에서 스왑을 피할지를 결정할 수 있습니다.
VM swapiness 값 조절하기
시스템에서 메모리 부족현상이 계속 일어났었다면 swapiness 값을 내리는 것은 적절하지 않습니다.
하지만 메모리에 충분히 여유가 있다면 swapiness 값을 조절하여 성능 향상을 고려해 볼수도 있겠죠!
기본 설정 확인하기: 우선, 현재 시스템의 VM 스와피니스 값을 확인해야 합니다. 이를 확인하려면 다음 명령어를 사용합니다.
sudo sysctl -a | grep "vm.swappiness"
vm.swappiness = 60
# 또는
cat /proc/sys/vm/swappiness
기본적으로 대부분의 리눅스 시스템에서 VM 스와피니스 값은 60으로 설정되어 있습니다.
값 조절하기: VM 스와피니스 값을 조절하려면 다음 명령어를 사용합니다. 예를 들어, VM 스와피니스 값을 10으로 설정하려면 다음과 같이 입력합니다.
sudo sysctl -w vm.swappiness=20
또는 /etc/sysctl.conf 파일을 수정하여 영구적으로 설정할 수 있습니다.
VM 스와피니스 값 조절의 영향
VM 스와피니스 값을 조절하면 시스템의 동작에 영향을 미칩니다. 값이 낮으면 스왑을 덜 사용하고 물리 메모리를 더 많이 사용하게 되므로 일반적으로 성능이 향상됩니다. 그러나 값이 너무 낮으면 메모리 부족 상황에서 시스템이 불안정해질 수 있습니다. 반면에 값이 높으면 스왑을 더 자주 사용하게 되어 디스크 I/O가 늘어나 성능이 저하될 수 있습니다.
따라서 VM 스와피니스 값을 조절할 때는 시스템의 메모리 요구 사항과 사용 목적을 고려해야 합니다.
'Computer Science > OS' 카테고리의 다른 글
Ubuntu 파일 파티션 초기화하기 (0) | 2023.08.16 |
---|---|
Ubuntu static ip 설정하기 (0) | 2023.08.16 |