Cómo modificar las variables del kernel de Linux usando el comando sysctl

Cómo modificar las variables del kernel de Linux usando el comando sysctl

Puede configurar varios parámetros o ajustes de Linux (el núcleo) para controlar su comportamiento, ya sea a pedido o bajo demanda mientras el sistema se ejecuta. sysctl es una utilidad de línea de comandos ampliamente utilizada para modificar o configurar los parámetros del núcleo en tiempo de ejecución. Puede encontrar los sintonizables del núcleo enumerados en el /proc/sys/ directorio.

Está impulsado por procfs (Sistema de archivos PROC), un sistema de archivos pseudo en Linux y otros sistemas operativos similares a UNIX que proporciona una interfaz a las estructuras de datos del kernel. Presenta información sobre procesos e información adicional del sistema.

Los siguientes son 10 útiles sysctl Comandos ejemplos que puede usar al administrar un sistema Linux en ejecución. Tenga en cuenta que necesita privilegios raíz para ejecutar el sysctl Comando, de lo contrario, use el comando sudo al invocarlo.

Tabla de contenido

1
  • Ejemplos de comando SYSCTL en Linux
  • 1. Enumere todos los parámetros del núcleo en Linux
  • 3. Enumere todos los nombres de variables del núcleo
  • 3. Encuentra variables de núcleo específicas en Linux
  • 4. Enumere todas las variables del núcleo, incluida
  • 5. Lista de valor variable de núcleo específico
  • 6. Escribir variable de núcleo temporalmente
  • 7. Escribir variable de núcleo de forma permanente
  • 8. Recargar sysctl.Variables de conf en Linux
  • 9. Configuración de recarga de archivos de configuración personalizados
  • 10. Configuración de recarga que coincide con el patrón

Ejemplos de comando SYSCTL en Linux

En esta guía, explicaremos 10 ejemplos de comando prácticos SYSCTL que puede usar en un sistema Linux.

1. Enumere todos los parámetros del núcleo en Linux

Para enumerar todos los parámetros de kernel disponibles actualmente, ejecute el comando sysctl con el -a o --todo bandera como se muestra.

$ sudo sysctl -a o $ sudo sysctl -todo 

Las variables se muestran en este formato:

. =  

Por ejemplo,

núcleo.Ostype = Linux 
Verifique los parámetros del núcleo en Linux

3. Enumere todos los nombres de variables del núcleo

Para imprimir solo los nombres variables sin sus valores, use el -norte opción como se muestra.

$ sudo sysctl -a -n 
Verifique los nombres de las variables del núcleo en Linux

3. Encuentra variables de núcleo específicas en Linux

Para encontrar una variable específica, puede filtrar la salida de sysctl a través del comando GREP, por ejemplo, para filtrar cualquier variable asociada con memoria Gestión, puede ejecutar el siguiente comando:

$ sudo sysctl -a | Memoria GREP o $ SUDO SYSCTL -ALL | memoria de GreP 
Verifique la variable de memoria del núcleo en Linux

4. Enumere todas las variables del núcleo, incluida

sysctl El comando también muestra variables desactivadas junto con la lista de todas las variables disponibles utilizando el --obsoleto bandera como se muestra.

$ sudo sysctl -a --preced o $ sudo sysctl -a --preced | memoria de GreP 

5. Lista de valor variable de núcleo específico

Para leer un sysctl variable y sus valores, especifique el nombre de la variable como un argumento para el sysctl comandos de la siguiente manera. Este ejemplo muestra cómo leer el núcleo.ostipo variable.

$ sudo sysctl kernel.ostipo núcleo.Ostype = Linux 

6. Escribir variable de núcleo temporalmente

Para escribir variables temporalmente, simplemente especifique la variable en este formato.

.= 

El siguiente ejemplo muestra cómo aumentar el tamaño máximo de la cola de recepción, que almacena marcos recogidos del búfer de anillo del Nic (Tarjeta de interfaz de red), una vez que se reciben de la red. El tamaño de la cola se puede modificar utilizando el neto.centro.netdev_max_backlog variable como se muestra.

$ sudo sysctl net.centro.netdev_max_backlog $ sudo sysctl net.centro.netdev_max_backlog = 1200 $ sudo sysctl net.centro.netdev_max_backlog 
Establezca la variable del núcleo temporalmente

7. Escribir variable de núcleo de forma permanente

sysctl También puede escribir variables de forma permanente en un archivo de configuración. Para lograr esto, use el -w opción, y especifique el archivo de configuración que la variable y su valor se agregarán a, en este caso, es /etc/sysctl.confusión, El archivo de configuración SYSCTL predeterminado:

$ sudo sysctl -w net.centro.netdev_max_backlog = 1200 >> /etc /sysctl.confusión 

Para escribir archivos permanentemente en una costumbre, especifique la ubicación del archivo de la siguiente manera. A veces, puede no poder crear un archivo en ubicaciones particulares incluso cuando invoca el sysctl comando usando el comando sudo.

En tal caso, cambie a la cuenta raíz (si tiene los privilegios) y ejecute el comando nuevamente como se muestra.

$ sudo sysctl -w net.centro.netdev_max_backlog = 1200 >> /etc /sysctl.D/10 pruebas.conf $ sudo su # sysctl -w net.centro.netdev_max_backlog = 1200 >> /etc /sysctl.D/10 pruebas.confusión 
Establecer variable de núcleo de forma permanente

Alternativamente, puede crear el nuevo archivo de configuración en /etc/sysctl.d/ Directorio como se muestra:

$ sudo vim /etc /sysctl.D/10 pruebas.confusión 

Luego agregue los parámetros del núcleo, uno por línea como se muestra.

neto.centro.netdev_max_backlog = 1200 usuario.max_net_namespaces = 63067 VM.OverCommit_Memory = 0 

Luego guarde el archivo y cierre. Para cargar la configuración del archivo personalizado que acaba de crear, use el -pag o --carga bandera.

$ sudo sysctl -p /etc /sysctl.D/10 pruebas.conf o $ sudo sysctl --load = /etc /sysctl.D/10 pruebas.confusión 

8. Recargar sysctl.Variables de conf en Linux

Para recargar la configuración de todos los archivos de configuración del sistema sin reiniciar, emita el siguiente comando.

$ sudo sysctl --system 

El comando anterior leerá todos los archivos de configuración del sistema de estos directorios, en este orden:

/run/sysctl.d/*.conf /etc /sysctl.d/*.conf/usr/local/lib/sysctl.d/*.conf/usr/lib/sysctl.d/*.conf /lib /sysctl.d/*.conf /etc /sysctl.confusión 

9. Configuración de recarga de archivos de configuración personalizados

También puede recargar la configuración de la variable desde un archivo de configuración SYSCTL personalizado como se muestra.

$ sudo sysctl -p/etc/sysctl.D/10 pruebas.conf o $ sudo sysctl --load = /etc /sysctl.D/10 pruebas.confusión 

10. Configuración de recarga que coincide con el patrón

Para aplicar solo la configuración que coincida con un determinado patrón, use el -riñonal o --patrón como sigue. Tenga en cuenta que el patrón usa sintaxis de expresión regular extendida, aquí hay algunos ejemplos:

$ sudo sysctl --system - -Pattern '^net.IPv6 '$ sudo sysctl --system -r memoria 
Configuración de recarga que coincide con el patrón

En esta guía, hemos explicado 10 sysctl Ejemplos de comando que puede usar para administrar un sistema Linux en ejecución. Para más información, lea el sysctl página del hombre (hombre sysctl).