Cómo ver y modificar los parámetros del kernel con Sysctl

1 mar 2021 2 min di lettura
Cómo ver y modificar los parámetros del kernel con Sysctl
Indice dei contenuti

Introducción

Como administrador del sistema Linux, es posible que a veces necesite cambiar el comportamiento predeterminado del kernel. Por ejemplo, es posible que deba habilitar la clave mágica SysRq o aumentar el número de conexiones aceptadas por el Kernel. Los parámetros del kernel se pueden configurar durante la compilación del kernel, el arranque del sistema o el tiempo de ejecución.

Este artículo explica cómo usar el sysctl para ver y cambiar los parámetros del kernel en tiempo de ejecución.

Utilice sysctl para ver los parámetros del kernel

Para ver todos los parámetros actuales del kernel, invoque el sysctl con la opción -a

sysctl -a

Esto producirá una lista grande que se parece a la siguiente, donde cada línea incluye el nombre del parámetro y su valor:

abi.vsyscall32 = 1
 debug.exception-trace = 1
 debug.kprobes-optimization = 1
 dev.cdrom.autoclose = 1
 dev.cdrom.autoeject = 0
 dev.cdrom.check_media = 0
 dev.cdrom.debug = 0
 dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17
 dev.cdrom.info =
 dev.cdrom.info = drive name: sr0
 dev.cdrom.info = drive speed: 4
 dev.cdrom.info = drive # of slots: 1...

Todos los usuarios pueden ver los parámetros actuales del kernel; solo el usuario root puede cambiar sus valores.

Puede verificar el valor de un solo parámetro pasando su nombre como argumento a sysctl. Por ejemplo, para verificar el valor de intercambio actual, escriba:

sysctl vm.swappiness
vm.swappiness = 60

Swappiness es una propiedad del kernel de Linux que define la frecuencia con la que el sistema utilizará el espacio de intercambio.

El sysctl lee información del /proc/sys. /proc/sys es un directorio virtual que contiene archivos que se pueden usar para ver y establecer los parámetros actuales del kernel.

También puede ver el valor de un parámetro viendo el contenido del archivo apropiado. La única diferencia es cómo se representa el archivo. Por ejemplo, los sysctl vm.swappiness y cat /proc/sys/vm/swappiness darán el mismo resultado. Cuando se utilizan los sysctl, las barras inclinadas se reemplazan por proc.sys y se asume la parte proc.sys.

Utilice sysctl para modificar los parámetros del kernel

Para establecer un parámetro del kernel en tiempo de ejecución, ejecute el sysctl seguido del nombre y el valor del parámetro en el siguiente formato:

sysctl -w parameter=value

Si el valor contiene espacios en blanco o caracteres especiales, escríbalo entre comillas dobles. También puede pasar varios parameter=value en el mismo comando.

Tenga especial cuidado al cambiar la configuración del kernel en un sistema de producción, ya que puede hacer que el kernel sea inestable y deberá reiniciar el sistema.

Por ejemplo, para habilitar el reenvío de paquetes IPv4, debe ejecutar:

sysctl -w net.ipv4.ip_forward=1

El cambio entra en vigor de inmediato, pero no es persistente. Una vez que el sistema se reinicia, se carga el valor predeterminado.

Para establecer un parámetro de forma permanente, la configuración debe escribirse en el /etc/sysctl.conf o en otro archivo de configuración en el directorio /etc/sysctl.d

sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Otra forma de cambiar los parámetros es usar el echo para escribir la configuración en los archivos en el /proc/sys. Por ejemplo, en lugar de ejecutar el comando anterior, puede usar:

echo 1 > /proc/sys/net/ipv4/ip_forward

La -p permite cargar configuraciones desde un archivo de configuración:

sysctl -p /etc/sysctl.d/file_name.conf

Cuando no se proporciona ningún archivo, sysctl lee el archivo /etc/sysctl.conf

Conclusión

El sysctl permite ver y modificar los parámetros del kernel de Linux.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.