사용 가능한 RAM이 2G 뿐인 RHEL 7 시스템이 있습니다.
free -g
total used free shared buff/cache available
Mem: 31 28 0 0 1 2
Swap: 15 9 5
그래서 우리는 10 대신 vm.swappiness = 100
in을 /etc/sysctl.conf
사용 하여 swappiness를 최대로 늘리기로 결정 sysctl -p
하고 설정을 적용하는 데 사용 했습니다.
잠시 후 상태를 다시 확인했습니다.
free -g
total used free shared buff/cache available
Mem: 31 28 0 0 2 2
Swap: 15 9 5
새로운 swappiness 설정에도 불구하고 볼 수 있듯이 free -g
사용 가능한 RAM은 2G로 유지됩니다. 왜? 여기서 무엇이 잘못 되었습니까?
우리는 15G의 중고 스왑 을 볼 것으로 예상했습니다 .
또한 다음 사항도 확인했습니다.
cat /proc/sys/vm/swappiness
100
따라서 모든 것이 새로운 설정에 따라 작동해야하지만 free
동일한 상황을 보여줍니다. 여기서 뭐하는 거지?
swappiness
설정 등의 목적으로 노력하고 있습니다. 증가 swappiness
한다고해서 시스템이 다른 것보다 스왑을 선호하는 것은 아닙니다. 증가 swappiness
는 페이지 캐시와 스왑 간의 균형에 영향을줍니다. 커널이 물리적 메모리를 사용할 수 있도록해야 할 때 일반적으로 두 가지 전략 중 하나를 사용하여 폐기 할 수 있습니다. 페이지 캐시에서 페이지를 폐기하거나 (콘텐츠가 디스크에 있기 때문에) 페이지를 스왑으로 이동할 수 있습니다. swappiness
한 전략이 다른 전략보다 얼마나 유리한지 결정합니다. swappiness
0 (최소값)으로 설정 하면 커널이 다양한 최고 수위 표시에 도달 할 때까지 스와핑을 피하고 대신 페이지 캐시에서 페이지를 제거합니다. 100 (최대 값)으로 설정하면 커널이 페이지 캐시를 동일하게 교체하고 제거하는 것을 고려합니다.
커널에 더 많은 메모리가 필요할 때만 새로운 설정이 차이를 만드는 것을 볼 수 있습니다. 캐시에서 사용되는 메모리 양이 감소하기 전에 사용 된 스왑 양이 증가하는 것을 볼 수 있습니다.
당신은 사용할 수 없습니다 swappiness
가능한 더 많은 메모리를 유지하기 위해 커널을 얻을 수 있습니다. 물리적 메모리는 항상 사용 가능한 상태로 두는 것보다 가장 잘 사용되므로 커널은 사전에 물리적 메모리를 해제 (사용 가능한 메모리 증가) 할 인센티브가 없습니다.
자세한 내용 은 RHEL 7 성능 조정 가이드 를 참조하세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다