¿Es necesario reiniciar el cambio de swappiness?


14

Si configuro el valor de intercambio a otro, por ejemplo: 60 a 0, ¿siempre tengo que reiniciar la máquina para que los cambios surtan efecto? Incluso cuando se modifica con:

sysctl -w vm.swappiness=0

Respuestas:


25

Todo está bien explicado en la página de Wikipedia que diste.

# 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

En este punto, el sistema administrará el intercambio como lo acaba de configurar, PERO si reinicia AHORA, su cambio se olvidará y el sistema funcionará con el valor predeterminado (suponiendo 60, lo que significa que comenzará a cambiar al 40% ocupación de RAM).

Debe agregar la siguiente línea /etc/sysctl.confpara mantener su cambio de forma permanente:

vm.swappiness = 10

Espero que sea más claro para ti ahora!


Es interesante que -wse suponga que el interruptor escriba el cambio. Uno pensaría que después de escribir eso, no sería necesario agregar la línea predeterminada en sysctl.conf.
— WEBjuju

Hola WEBjuju, tienes razón, el interruptor todavía no funciona para mí (fedora 25 o centos 7). Entonces no es necesario, ya que el cambio del valor en vivo en el archivo / proc se realiza de todos modos sin.
— tisc0

7

¿Necesita reiniciar la máquina para que los cambios surtan efecto?

De hecho, lo contrario: reiniciar restablecerá el intercambio a su valor predeterminado. Para que persista durante los reinicios, debe incluir una directiva en un script de arranque o usar el método recomendado en el artículo de Wikipedia agregando:

vm.swappiness = ??

Para /etc/sysctl.conf(o un /etc/sysctl.darchivo), ¿dónde ??está el valor que desea utilizar? Tenga en cuenta que solo agregar esto no causará ningún cambio en ese momento.


1

La respuesta aceptada es correcta, pero se recomienda utilizar un archivo de configuración "sysctl" separado para que no sobrescriba accidentalmente otras configuraciones (lo que podría suceder si sobrescribe el "sysctl.conf" global).

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

Quienes ya hayan modificado el archivo de configuración global "/etc/sysctl.conf" pueden querer eliminar las líneas que definen este valor de "intercambio" de ese archivo. Puede usar este comando para eliminar estas líneas del archivo de configuración global (manteniendo comentarios):

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

Ahora, para aplicar el nuevo valor, diga sysctlque lo use:

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

O aplique todas las configuraciones, incluida la capacidad de intercambio:

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

Verificarlo:

# sysctl vm.swappiness
vm.swappiness = 10

De acuerdo, es una mejor práctica, hacer las cosas más claras y seguras. Un buen hábito también cuando se usa una herramienta de administración de configuración.
— tisc0

1

Descubrí que en una máquina CentOS , vm.swappinessse estaba instalando /usr/lib/tuned/virtual-guest/tuned.conf.

Determinar dónde el valor por defecto se está estableciendo mirando a través de tunedarchivos de configuración :

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

Después de actualizar el valor predeterminado, todavía se puede configurar el intercambio actual sin reiniciar :

sudo sysctl vm.swappiness=10

y probado por:

cat /proc/sys/vm/swappiness

1
/etc/tuned/tuned-main.conf (RHEL7) tiene una configuración que permite /etc/sysctl.conf, /etc/sysctl.d, etc., anular la configuración aplicada por tuned (es decir, reapply_sysctl = 1). Al menos en mi instalación, este es el valor predeterminado.
— kbulgrien

0

Los cambios del usuario a sysctlpor convención van a los archivos con el prefijo, 60-por lo que el nombre del archivo debe ser /etc/sysctl.d/60-swappiness.conf. Ejecutar service procps startcomo root para forzar una nueva lectura de los valores de configuración (no es necesario reiniciar).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.