Configurar el kernel de Linux con sysctl

No muchos usuarios modernos de Linux recuerdan los días en que era posible (ya veces necesario) construir su propio kernel. Si tenía un dispositivo especial o necesidades especiales para el kernel, no había otra forma de hacerlo funcionar. Hoy en día, la mayoría de los núcleos funcionan con la mayoría de los equipos. Pero hay momentos en los que puede exprimir un poco más el rendimiento o incluso aligerar el núcleo sobre la marcha. Puedes hacerlo con sistema mandar

Este comando le permite habilitar o deshabilitar muchas configuraciones del kernel sobre la marcha o puede editar un archivo específico para configurar las mismas configuraciones. De cualquier manera, puede cambiar todas las configuraciones enumeradas en /proc/sistemaasí que si quiere saber cuánto puede cambiar, mire cada uno de los subdirectorios debajo /proc/sistema catalogar. Por ejemplo, puede cambiar la cantidad máxima de descriptores de archivo en su máquina configurando el parámetro kern.maxfiles.

NOTA: definitivamente querrá tener cuidado cuando juegue con este equipo, ya que esto puede provocar la pérdida de datos o algo peor si el cambio de cualquier configuración es incorrecto.

Utilizar

El uso principal del equipo. sysctl PARÁMETROS Variable. La variable para el parámetro será booleana, cadena o números. Debe ejecutar este comando en nombre del usuario raíz o usando sudo. Una de las primeras cosas que puede hacer es emitir un comando sudo sysctl-a. Este comando mostrará todas las variables personalizadas en su máquina. La lista se verá así:
núcleo.sched_min_granularity_ns = 2000000
kernel.sched_latency_ns = 10000000
kernel.sched_wakeup_granularity_ns = 2000000
kernel.sched_shares_ratelimit = 500000
núcleo.sched_shares_thresh = 4
kernel.sched_features = 15834235
kernel.sched_migration_cost = 500000
núcleo.sched_nr_migrate = 32
kernel.sched_time_avg = 1000
núcleo.timer_migration = 1
núcleo.sched_rt_period_us = 1000000
núcleo.sched_rt_runtime_us = 950000
núcleo.sched_compat_yield = 0
kernel.panic = 0
núcleo.core_uses_pid = 0
kernel.core_pattern = kernel
núcleo.core_pipe_limit = 0
kernel.contaminado = 0
kernel.latencytop = 0
kernel.real-root-dev = 0
kernel.print-fatal-señales = 0

En total, hay más de 500 configuraciones personalizables en el sistema Linux promedio. Eso es mucho para personalizar. Si desea echar un vistazo más de cerca a esta lista, emita un comando sudo sysctl -a> configurable y luego abra este archivo en su editor favorito. Hagamos esto con algo útil al instante. Digamos que desea volver a habilitar que algunas distribuciones están deshabilitadas. Primero asegurémonos de que su distribución haya deshabilitado esto. Haz esto con el comando:

sudo sysctrl kernel.ctrl-alt-del

Lo que deberías ver a la salida:

kernel.ctrl-alt-del = 0

La conclusión anterior le informa que esta función ha sido deshabilitada. Vamos a encenderlo. Para hacer esto, debe emitir un comando:

sudo sysctl -w kernel.ctrl-alt-del = 1

Deberías ver el resultado:

kernel.ctrl-al-del = 1

Lo que te dice que el equipo tuvo éxito. Por supuesto, puede restablecer esto a su valor original con el comando:

sudo sysctl -w kernel.ctrl-alt-del = 0

Por supuesto, esto es solo un ejemplo simple de lo que puede personalizar con sistema mandar Dado que hay más de 500 configuraciones personalizables, puede personalizar el kernel para satisfacer algunas necesidades muy específicas.

Observaciones finales

Como con cualquier herramienta que modifica un kernel en ejecución, tenga cuidado al usar sistema. Es posible que desee probar este comando en una máquina que no sea de producción antes de intentar realizar cambios en una máquina de producción. Y empieza de forma sencilla. Cambie algunas configuraciones que no harán que su máquina se descargue, el disco duro sea inaccesible para escribir, conectarse en red, etc.

Artículos de interés

Subir