RHEL 7.2 메모리 사용량은 다음과 같습니다 free -m
.
total used free shared buff/cache available
Mem: 386564 77941 57186 687 251435 306557
Swap: 13383 2936 16381
사용된 스왑 공간은 2936M임을 알 수 있습니다.
그래서 우리는 그것을 최소한으로 줄이고 싶습니다.
echo 1 > /proc/sys/vm/swappiness
sysctl -w vm.swappiness=1
echo "vm.swappiness = 1" >> /etc/sysctl.conf
10분 뒤에 다시 확인해보니 OS는 여전히 스왑 영역을 사용하고 있었습니다.
free -m
:
total used free shared buff/cache available
Mem: 386564 77941 57186 687 251435 306557
Swap: 13389 2930 16381
우리가 취하지 않는 조치가 왜 즉시 적용됩니까?
스왑 공간을 0으로 만들려면 OS를 재부팅해야 합니까?
예
우리는 다음을 실행합니다 vmstat
:
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 85740 20255872 2238248 183126400 0 0 7 162 0 0 7 1 92 0 0
vm.swappiness=1을 줄입니다.
10분 후에 vmstat를 실행합니다.
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 85740 20255872 2238248 183126400 0 0 7 162 0 0 7 1 92 0 0
답변1
이전에 말씀드린 대로(참조)왜 스왑 기능이 작동하지 않나요?), 변경 사항은 swappiness
메모리를 확보해야 할 때 커널이 내리는 향후 결정에만 영향을 미칩니다. 이를 줄이면 커널이 교체된 모든 항목을 다시 로드하지 않습니다.
출력 vmstat
에 스왑이 적극적으로 사용되지 않는 것으로 표시됩니다.즉현재 작업 부하에는 교체된 페이지가 실제로 필요하지 않습니다.
평소처럼 커널의 스왑 사용을 세세하게 관리하려고 하는 것은 의미가 없습니다. 작업 부하에 따라 페이지 캐싱을 지원해야 하는지 여부를 결정하고 swappiness
그에 따라 조정한 후 시스템을 실행하세요.
만약 너라면진짜스왑을 지우려면 스왑을 비활성화했다가 다시 활성화하십시오.
swapoff -a && swapon -a
답변2
free -m
교환 사용에 관한 신뢰할 수 있는 정보 출처가 아닙니다. 대신에가상 머신 상태 이전과 이후교환형 echo 명령을 일시적으로 변경합니다.
1) swapoff -a && swapon -a && vmstat
2)교환이 필요한 작업을 수행합니다.
삼)vmstat
이제 교환 가능성이 변경되기 전에 얼마나 많은 교환이 발생하는지 알 수 있습니다. 교환이 없다면 교환이 가능한 다른 직업을 찾아보세요.
4) echo 명령을 사용하여 일시적으로 swappiness를 변경합니다
. 5) swapoff -a && swapon -a && vmstat
6)교환이 필요한 작업을 수행합니다.
7)vmstat
8) 비교스리랑카그리고그래서가치.
주목해야 할 값은 다음과 같습니다.
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).
다음 사이트에서도 유용한 정보를 찾을 수 있습니다.RHEL 7 성능 조정 가이드.
매우 감사합니다스티븐 지터교환 및 교환에 대해 알려주세요.