답변:
에서 커널 문서 memory.swappiness에 관하여 :
5.3 swappiness
/ proc / sys / vm / swappiness와 유사하지만 그룹 계층에만 영향을줍니다.
다음 cgroup의 swappiness는 변경할 수 없습니다.
-루트 cgroup (/ proc / sys / vm / swappiness 사용).
-계층을 사용하고 그 아래에 다른 cgroup이있는 cgroup.
-계층의 루트가 아닌 계층을 사용하는 cgroup.
Red Hat 고객 포털에서 :
memory.swappiness
커널이 페이지 캐시에서 페이지를 회수하는 대신이 cgroup의 작업에서 사용하는 프로세스 메모리를 스왑 아웃하는 경향을 설정합니다. 시스템 전체에 대해 / proc / sys / vm / swappiness에서 설정 한 것과 동일한 방식으로 계산됩니다. 기본값은 60입니다. 60보다 작은 값은 커널이 프로세스 메모리를 스왑 아웃하는 경향을 감소시키고, 60보다 큰 값은 프로세스 메모리를 스왑 아웃하는 경향을 증가 시키며 100보다 큰 값은 커널이 이 cgroup에있는 프로세스의 주소 공간
값이 0이면 프로세스 메모리가 스왑 아웃되는 것을 막지 않습니다. 글로벌 가상 메모리 관리 로직이 cgroup 값을 읽지 않기 때문에 시스템 메모리가 부족한 경우에도 여전히 스왑 아웃이 발생할 수 있습니다. 페이지를 완전히 잠 그려면 cgroup 대신 mlock ()을 사용하십시오.
:: 다음 그룹의 교환을 변경할 수 없습니다.
* 루트 cgroup. / proc / sys / vm / swappiness에 설정된 교환 을 사용합니다.
하위 그룹이 그 아래에있는 cgroup
편집 : 설정 방법을 정확히 알고 싶다면 다른 cgroup 속성과 동일하게 설정하십시오.
# cd /mnt/cgroup/<cgroupName>
# cat memory.swappiness
60
# echo "59 " > memory.swappiness
# cat memory.swappiness
59
/tmp
마운트 된 파일의 경우 는tmpfs
어떻습니까? unix.stackexchange.com/q/146490/56970