[unix] 교체의 변경에 재부팅이 필요합니까?

swappiness 값을 예를 들어 60에서 0으로 다른 값으로 구성하면 변경 사항을 적용하기 위해 항상 컴퓨터를 재부팅해야합니까? 로 수정하더라도 :

sysctl -w vm.swappiness=0



답변

모든 것은 Wikipedia 페이지에 잘 설명되어 있습니다.

# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness

# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10

# Verify the change
cat /proc/sys/vm/swappiness
10

이 시점에서 시스템은 방금 구성한대로 스왑을 관리합니다. 그러나 지금 재부팅하면 변경 사항을 잊어 버리고 시스템은 기본값으로 작동합니다 (60을 가정하면 40 %에서 스왑을 시작한다는 의미). RAM의 점령).

/etc/sysctl.conf변경 사항을 영구적으로 유지하려면 아래 행을 추가 해야합니다.

vm.swappiness = 10

더 명확 해지기를 바랍니다.


답변

변경 사항을 적용하려면 컴퓨터를 재부팅해야합니까?

반대로, 다시 부팅하면 swappiness가 기본값으로 재설정됩니다. 재부팅 후에도 지속되도록하려면 부트 스크립트에 지시문을 포함 시키거나 wikipedia 기사에서 권장하는 방법을 추가해야합니다.

vm.swappiness = ??

To /etc/sysctl.conf(또는 /etc/sysctl.d파일), 어디에 ??사용하려는 값이 있습니까? 이것을 추가해도 당시에는 아무런 변화가 없습니다.


답변

허용되는 대답은 맞지만 다른 “sysctl”구성 파일을 사용하여 실수로 다른 설정을 덮어 쓰지 않도록하는 것이 좋습니다 (전역 “sysctl.conf”를 덮어 쓰면 발생할 수 있음).

# echo 'vm.swappiness=10' >/etc/sysctl.d/swappiness.conf

전역 구성 파일 “/etc/sysctl.conf”를 이미 수정 한 사용자는 해당 “swappiness”값을 정의하는 행을 해당 파일에서 제거 할 수 있습니다. 이 명령을 사용하여 전역 구성 파일에서 다음 행을 제거 할 수 있습니다 (설명 유지).

# sed -i '/^vm.swappiness=/d' /etc/sysctl.conf

이제 새 값을 적용하려면 sysctl사용하도록 지시하십시오.

# sysctl -p /etc/sysctl.d/swappiness.conf

또는 swappiness를 포함한 모든 설정을 적용하십시오.

# sysctl -p /etc/sysctl.d/*

그것을 확인하십시오 :

# sysctl vm.swappiness
vm.swappiness = 10


답변

나는에 그 발견 에 CentOS 기계vm.swappiness에서였다되는 설정을
/usr/lib/tuned/virtual-guest/tuned.conf.

위치를 결정 기본값이 설정되는 보고 를 통해 tuned구성 파일 :

sudo grep -R swap /usr/lib/tuned | grep swappiness

기본값을 업데이트 한 후에도 재부팅하지 않고도 현재 swappiness를 설정할 수 있습니다 .

sudo sysctl vm.swappiness=10

다음에 의해 테스트되었습니다.

cat /proc/sys/vm/swappiness


답변

사용자 sysctl는 규칙에 따라 접두사가 붙은 파일로 이동 60-하므로 파일 이름은이어야합니다 /etc/sysctl.d/60-swappiness.conf. service procps start루트로 실행 하여 구성 값을 다시 읽습니다 (재부팅 필요 없음).


답변