Linux 메모리 관리에서 스왑 기능을 구성하는 방법은 무엇입니까?

Linux 메모리 관리에서 스왑 기능을 구성하는 방법은 무엇입니까?

swappiness 매개변수는 프로세스를 물리적 메모리에서 스왑 디스크로 이동하는 커널의 경향을 제어합니다. 기본 설정은 무엇이며전반적인 성능을 향상시키기 위해 구성하는 방법?

답변1

~에서교환, 위키피디아

이 값은 다음에서 설정할 수 있습니다.가상파일 /proc/sys/vm/swappiness 에서 언급한 값에 따라 스왑 공간이 어떻게 사용되는지가 결정되며, 아래에는 해당 값과 그 의도가 나와 있습니다.

vm.swappiness = 0   # Swap is disabled. In earlier versions, this meant that the kernel would swap only to avoid an out of memory condition, but in later versions this is achieved by setting to 1.
vm.swappiness = 1   # Kernel version 3.5 and over, as well as kernel version 2.6.32-303 and over: Minimum amount of swapping without disabling it entirely.
vm.swappiness = 10  # This value is sometimes recommended to improve performance when sufficient memory exists in a system, this value *10* could be considered for the performance being expected. 
vm.swappiness = 60  # The default value.
vm.swappiness = 100 # The kernel will swap aggressively.

실제로는 필요에 따라 다르지만 사용 가능한 물리적 메모리가 충분하면 큰 스왑 공간이 필요하지 않을 수 있으며 일반인의 관점에서 기본값을 변경할 필요가 없습니다 60.

답변2

Linux 커널은 스와핑을 제어하기 위한 조정 가능한 설정을 제공합니다.

$ cat /proc/sys/vm/swappiness
60  

루트로 엽니다 /etc/sysctl.conf. 그런 다음 다음 줄을 변경하거나 파일에 추가하세요.

vm.swappiness = 10

스왑 값을 일시적으로 변경하려면 다음 명령을 시도하십시오.

$ echo 50 > /proc/sys/vm/swappiness

답변3

RedHat/CentOS에서 기본값은 60입니다.
"성능을 향상시키다"는 매우 광범위한 용어입니다. 어떤 성능을 개선하고 싶나요?

메모리 부족 문제가 있나요?
아직 사용 가능한 메모리/캐시 메모리가 있을 때 시스템이 스와핑을 수행합니까?

Linux에서는 여유 RAM = 낭비된 RAM이므로 거의 모든 여유 메모리가 디스크 캐시에 사용됩니다.
swappiness=60을 사용하면 메모리의 페이지에 오랫동안 액세스하지 않으면 할당되지 않은 RAM에 관계없이 SWAP으로 이동됩니다.
일부 메모리 페이지를 SWAP으로 이동하는 것이 반드시 나쁜 것은 아닙니다.

더 자세한 답변을 위해 질문을 자세히 설명해 주세요.

관련 정보