Introducción
sysctl es una utilidad de software de algunos sistemas operativos similares a Unix que lee y modifica los atributos del kernel del sistema, como su:
- Número de versión
- Límites máximos
- Configuración de seguridad.
Está disponible como una llamada al sistema para programas compilados y como un comando de administrador para uso interactivo y secuencias de comandos. Linux también expone sysctl como un sistema de archivos virtual.
Este artículo muestra cómo usar el sysctl comando para ver y modificar los parámetros del kernel en tiempo de ejecución.
Ver los parámetros del kernel con sysctl
Para ver todos los parámetros actuales del kernel, use este comando:
sysctl -a
[root@unixcop ~]# sysctl -a
abi.vsyscall32 = 1
crypto.fips_enabled = 0
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: 1
........
....
Esta es una lista donde cada línea incluye el nombre del parámetro y su valor como se muestra arriba.
Compruebe el valor único del parámetro Kernel con sysctl
Puede verificar el valor de un solo parámetro invocando su nombre como argumento para sysctl .
Nota :Solo el usuario root puede modificar sus valores.
Ejemplo:
Verifique el valor máximo del límite de velocidad del dispositivo raid.
[root@unixcop ~]# sysctl dev.raid.speed_limit_max
dev.raid.speed_limit_max = 200000
[root@unixcop ~]#
También puedes usar grep comando para buscar en el valor del parámetro como se muestra a continuación:
sysctl -a | grep dev.raid.speed_limit_max
sysctl El comando lee la información de /proc/sys directorio.
/proc/sys es un directorio virtual que contiene objetos de archivo que se pueden usar para ver y configurar los parámetros actuales del kernel.
También puede ver el valor de un parámetro mostrando el contenido del archivo apropiado. La única diferencia es cómo se representa el archivo.
Ejemplo:
sysctl dev.raid.speed_limit_max y cat /proc/sys/dev/raid/speed_limit_max mostrará el mismo resultado que se muestra a continuación.
Modificar los parámetros del kernel con sysctl
Para modificar un parámetro del núcleo, ejecute el comando sysctl seguido del parámetro y el valor que desea cambiar a
La sintaxis para editar el valor:
sysctl -w parameter=value
Ejemplo :
[root@unixcop ~]# sysctl net.ipv6.route.gc_timeout
net.ipv6.route.gc_timeout = 50
[root@unixcop ~]#
[root@unixcop ~]# sysctl -w net.ipv6.route.gc_timeout=60
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
[root@unixcop ~]# sysctl net.ipv6.route.gc_timeout
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
Notas :
Si el valor contiene espacios vacíos o caracteres especiales, encierre el valor entre comillas dobles.
También puede pasar múltiples parámetro=valor en el mismo comando.
Aquí vamos
El cambio se agregará con éxito, pero no es persistente. Después de reiniciar el sistema, se carga el valor predeterminado.
Para que
Para establecer un parámetro de forma permanente, deberá escribir los cambios en /etc/sysctl.conf u otro archivo de configuración bajo /etc/sysctl.d porque es un archivo incluido o un subarchivo de la configuración principal.
sysctl -w net.ipv6.route.gc_timeout=60 >> /etc/sysctl.conf
La -p La opción le permite cargar los cambios desde un archivo de configuración como se muestra:
[root@unixcop ~]# sysctl -p /etc/sysctl.d/79-sysctl.conf
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
Conclusión
Eso es todo
Ilustramos cómo usar el sysctl comando que le permite ver y cambiar los parámetros del kernel de Linux.