Referencia pública de la línea de comandos del kernel
Comprenda cada control. Solicite el perfil exacto de producción.
Esta referencia pública explica el propósito, los valores aceptados, las implicaciones para la latency, los modos de fallo y la verificación tras el arranque. Deliberadamente, no publica una línea de comandos universal de HFTKernel: los valores exactos dependen de la topología de CPU, la ubicación NUMA, las colas de NIC, la gestión del tiempo, el almacenamiento, la política de seguridad y la carga de trabajo.
No existe una línea de comandos universal para baja latency.
Un perfil de producción debe coordinar como un único sistema las CPU de mantenimiento, las CPU de trading, los hilos hermanos SMT, los nodos NUMA, las colas de NIC y almacenamiento, los hilos RCU, las colas de trabajo, las fuentes de tiempo y la afinidad de las aplicaciones.
Separe los controles de rendimiento de la política de riesgos
El aislamiento de CPU, la ubicación de IRQ y el comportamiento NUMA son controles de rendimiento. Las mitigaciones, LSM, la auditoría, ASLR, watchdog y la configuración de comprobación de máquina requieren una decisión de seguridad y operación independiente.
Verifique el efecto, no la sintaxis
Un parámetro puede no ser compatible, resultar redundante, quedar anulado por el firmware o ser modificado posteriormente por el espacio de usuario. El estado efectivo en sysfs, procfs, dmesg, la afinidad de IRQ y la latency medida es la referencia válida.
Perfil de producción bajo solicitud
Los valores exactos se generan para su host y su carga de trabajo.
El equipo de ingeniería de HFTKernel coordina como un único sistema las CPU de trading y mantenimiento, los hilos hermanos SMT, los nodos NUMA, las colas de NIC y almacenamiento, el acceso de administración, la recuperación, la gestión del tiempo y la seguridad antes de seleccionar los parámetros de arranque.
Busque por parámetro, subsistema, valor, riesgo o comando de verificación. La referencia pública explica el control sin seleccionar un valor de producción.
⌕/
Se muestran 35 de 35 parámetros
¿Necesita los valores seleccionados, las máscaras de CPU y la línea de comandos final?Se generan tras una revisión de la topología y no se publican como una configuración predefinida genérica.
No hay parámetros que coincidan con esta búsqueda. Borre la consulta o busque un subsistema como CPU, IRQ, IOMMU, seguridad o NVMe.
Parámetros: 5
Arranque, sistema de archivos raíz, consola y captura de fallos
Parámetros que seleccionan el kernel y el sistema de archivos raíz, definen el comportamiento del montaje inicial, habilitan la consola serie y reservan memoria para kdump.
BOOT_IMAGEMetadatos del gestor de arranque; no es un control de latencyAbrir
Propósito
GRUB suele añadir este token para registrar la imagen del kernel seleccionada. El kernel upstream no lo utiliza como política de ajuste; resulta útil principalmente para diagnósticos y para correlacionar un arranque con una imagen específica.
Valores y variantes
BOOT_IMAGE=/boot/vmlinuz-<version>Ruta con formato de sistema de archivos utilizada por muchas configuraciones de GRUB.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version>Notación de dispositivo de GRUB.
omittedVálido; el gestor de arranque sigue determinando la imagen seleccionada.
Compromiso o modo de fallo
Una cadena BOOT_IMAGE copiada puede estar desactualizada o ser meramente informativa. La identidad del kernel en ejecución es la referencia válida.
rootSelección del dispositivo raíz por el kernel/initramfsAbrir
Propósito
Selecciona el dispositivo de bloques o la identidad lógica que se convertirá en el sistema de archivos raíz. Un initramfs puede resolver el valor antes de que se monte la raíz real.
Valores y variantes
root=UUID=<filesystem-uuid>Identificador estable del sistema de archivos; generalmente preferible a un nombre de dispositivo que puede cambiar.
root=PARTUUID=<partition-uuid>Identificador estable de la tabla de particiones.
root=LABEL=<label> or root=PARTLABEL=<label>Etiqueta del sistema de archivos o de la partición legible para las personas.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name>Ruta directa del dispositivo; sencilla, aunque el nombre puede variar según el orden de detección.
Compromiso o modo de fallo
Un valor incorrecto impide el arranque. Verifique que initramfs contenga los drivers necesarios de almacenamiento, LVM, RAID o cifrado antes de la implementación.
roModo de montaje inicial del sistema de archivos raízAbrir
Propósito
Solicita que el kernel monte inicialmente el sistema de archivos raíz en modo de solo lectura. El sistema de inicio normalmente realiza comprobaciones y lo vuelve a montar en modo de lectura y escritura más adelante.
Valores y variantes
roMontaje inicial de solo lectura.
rwMontaje inicial de lectura y escritura.
Compromiso o modo de fallo
Cambiarlo puede alterar la reparación durante el arranque inicial y el comportamiento de initramfs; pruebe las rutas de recuperación.
Controla dónde se envían los mensajes de la consola del kernel. Los valores de la consola serie definen el dispositivo, la velocidad en baudios, la paridad y los bits de datos; también hay destinos de consola virtual y local para las plataformas compatibles.
Valores y variantes
console=tty0Terminal virtual local.
console=ttyS<N>,<baud><parity><bits>Consola serie compatible con 8250; por ejemplo, 115200n8 y 9600n8.
console=hvc0Consola virtual del hipervisor en huéspedes compatibles.
console=nullDescartar la salida de la consola.
multiple console= tokensDuplicar la salida del kernel en más de una consola apta; verifique qué dispositivo se convierte en /dev/console.
Compromiso o modo de fallo
Una salida de consola abundante puede resultar costosa, especialmente en un dispositivo serie lento. Controle el nivel y la frecuencia de los registros en lugar de desactivar sin evaluar el acceso de recuperación.
Reserva memoria para un kernel de captura que puede escribir un vmcore tras un panic. Algunas distribuciones implementan el valor auto, pero no es una política de dimensionamiento upstream universalmente portable.
Valores y variantes
crashkernel=<size>Reservar una cantidad fija, por ejemplo 512M.
crashkernel=<range>:<size>[,<range>:<size>…]Seleccionar el tamaño de la reserva según la RAM instalada.
crashkernel=<size>,high plus crashkernel=<size>,lowSeparar las reservas de memoria alta y baja en las arquitecturas compatibles.
crashkernel=<size>,cmaUtilizar una reserva respaldada por CMA cuando sea compatible.
crashkernel=autoDimensionamiento automático específico de la distribución; confirme la compatibilidad en el kernel de destino y las herramientas de arranque.
omittedSin reserva para el kernel de captura; kdump no puede capturar un vmcore.
Compromiso o modo de fallo
La RAM reservada no está disponible para el kernel principal. Un kernel de captura con memoria insuficiente falla cuando más se necesita.
Controles de estados C, estados P, sesgo entre energía y rendimiento, y multihilo simultáneo.
intel_idle.max_cstateSelección y profundidad del driver cpuidle de IntelAbrir
Propósito
Controla el estado de inactividad más profundo que expone intel_idle. Un valor de 0 desactiva intel_idle y recurre a otro driver de inactividad, normalmente acpi_idle; por sí solo no garantiza que la CPU permanezca en C0.
Valores y variantes
0Desactivar intel_idle y recurrir a la alternativa de la plataforma.
1Exponer solo el estado menos profundo de intel_idle.
2–9Permitir estados progresivamente más profundos hasta el índice del driver seleccionado, según la compatibilidad de la CPU.
omittedUtilizar el valor predeterminado del driver y la tabla de estados de la plataforma.
Compromiso o modo de fallo
Los estados de inactividad poco profundos mejoran la uniformidad de activación, pero aumentan el consumo, el calor, la demanda de ventilación y posiblemente la presión sobre la frecuencia sostenida.
processor.max_cstateLímite de estados de inactividad del procesador ACPIAbrir
Propósito
Limita el estado de inactividad ACPI más profundo registrado por el driver de inactividad del procesador. Es relevante principalmente cuando acpi_idle está activo, incluidos los casos en que otro driver de inactividad se ha desactivado o no está disponible.
Valores y variantes
0En el código upstream actual, ningún estado C de ACPI supera el bucle de registro; el comportamiento alternativo resultante debe verificarse en la plataforma de destino.
1Limitar a C1.
2–8Permitir estados ACPI hasta la profundidad seleccionada, cuando el firmware los exponga.
9 or another value above the normal limitPuede anular algunos límites de la lista de exclusión DMI; no es una recomendación de latency.
omittedUtilizar los valores predeterminados del firmware y del driver.
Compromiso o modo de fallo
Utilizar 0 puede producir un comportamiento alternativo específico de la plataforma. No lo interprete como un sinónimo portable de «solo C0».
intel_pstateModo del driver de escalado de frecuencia de CPU IntelAbrir
Propósito
Selecciona el modo de funcionamiento del driver de escalado de frecuencia intel_pstate o impide que se cargue. El modo elegido cambia la semántica del control, el comportamiento de HWP y los governors disponibles.
Valores y variantes
disableNo activar intel_pstate.
activeUtilizar el modo activo de intel_pstate y sus algoritmos internos performance/powersave.
passiveUtilizar intel_pstate como driver de escalado bajo governors genéricos de cpufreq.
forceForzar intel_pstate en sistemas que normalmente se excluyen; los controles térmicos y de energía de la plataforma pueden verse afectados.
no_hwpNo activar Hardware P-states.
hwp_onlyCargar solo donde HWP esté disponible.
support_acpi_ppcRespetar los límites ACPI _PPC.
per_cpu_perf_limitsExponer límites de rendimiento por CPU lógica.
no_casDesactivar la compatibilidad con planificación consciente de la capacidad en sistemas híbridos.
Compromiso o modo de fallo
Una política de frecuencia máxima fija puede aumentar la limitación térmica y reducir la sostenibilidad del rendimiento con todos los núcleos. Mida conjuntamente la residencia en frecuencias y la tail latency.
epbToken de arranque no estándar; Intel Energy Performance Bias se configura normalmente mediante sysfs o x86_energy_perf_policyAbrir
Propósito
Representa una política de Energy Performance Bias en árboles del kernel o herramientas de arranque que procesan explícitamente el token. Linux upstream normalmente expone Intel EPB por CPU mediante energy_perf_bias y no define epb= como un parámetro genérico de la línea de comandos del kernel.
Valores y variantes
0Máxima preferencia por el rendimiento en la interfaz EPB.
1–14Compromiso intermedio entre rendimiento y energía.
15Máxima preferencia por el ahorro de energía.
performance, balance-performance, normal, balance-power, powerValores con nombre aceptados por la interfaz sysfs por CPU en los kernels compatibles.
Compromiso o modo de fallo
El firmware, la suspensión y reanudación, la conexión en caliente de CPU o un servicio de gestión de energía pueden sobrescribir EPB. Trate la política seleccionada como un estado de ejecución administrado y verifíquela continuamente.
Desactiva los hilos SMT secundarios para que cada núcleo físico exponga como máximo una CPU lógica en línea. Esto puede reducir la contención entre hilos hermanos en unidades de ejecución, cachés y algunas rutas de interrupción.
Valores y variantes
nosmtDesactivar SMT durante el arranque; puede seguir siendo posible reactivarlo en tiempo de ejecución si la plataforma y el kernel lo permiten.
nosmt=forceForzar la desactivación de SMT e impedir su reactivación en tiempo de ejecución.
omittedUtilizar los valores predeterminados del firmware y del kernel.
Compromiso o modo de fallo
Desactivar SMT reduce la capacidad de CPU lógicas y puede concentrar más trabajo en segundo plano en menos CPU de mantenimiento.
Comportamiento del tick, aislamiento de CPU, ubicación de IRQ y RCU
El grupo principal de controles de latency: CPU full-dynticks, aislamiento de dominios del planificador, afinidad de mantenimiento, desfase de temporizadores y descarga de funciones de retorno de RCU.
nohzSupresión del tick en inactividadAbrir
Propósito
Controla el comportamiento de inactividad sin tick del kernel cuando este se compiló con la compatibilidad NO_HZ necesaria. El modo activado permite que las CPU inactivas detengan el tick periódico del planificador.
Valores y variantes
onActivar la inactividad sin tick cuando sea compatible.
offDesactivar la inactividad sin tick y mantener los ticks periódicos.
omittedUtilizar el valor predeterminado de la configuración del kernel.
Compromiso o modo de fallo
El parámetro no tiene efecto si el kernel en ejecución carece de la compatibilidad correspondiente en su compilación.
skew_tickDistribución de la fase del tick periódico por CPUAbrir
Propósito
Controla si la actividad del tick periódico se desfasa entre las CPU en lugar de activar todos los ticks de CPU en el mismo instante. Activar esta función puede reducir la contención de bloqueos y el ruido sincronizado en sistemas grandes.
Valores y variantes
0No desfasar deliberadamente los ticks periódicos.
1Distribuir las fases del tick entre las CPU.
Compromiso o modo de fallo
La contrapartida es un mayor consumo de energía, porque pueden reducirse las oportunidades de inactividad de todo el encapsulado.
irqaffinityMáscara de afinidad de IRQ predeterminadaAbrir
Propósito
Establece la lista de CPU predeterminada para las IRQ que no reciben una política de afinidad más específica. La máscara de CPU seleccionada determina dónde comienza el procesamiento de interrupciones que no tienen otra asignación.
Valores y variantes
irqaffinity=<cpu-list>CPU y rangos separados por comas, por ejemplo 0,4-7.
omittedUtilizar la máscara de afinidad predeterminada de la arquitectura/kernel.
Compromiso o modo de fallo
La CPU 0 puede convertirse en un cuello de botella. Las interrupciones MSI-X administradas pueden no respetar la máscara predeterminada de la misma forma que las IRQ ordinarias.
isolcpusAislamiento de dominios del planificador y de IRQ administradasAbrir
Propósito
Selecciona las CPU y los indicadores de aislamiento para excluirlas de los dominios del planificador, aplicar el comportamiento full-dynticks y evitar IRQ administradas. El aislamiento de dominios es una decisión de arranque irreversible hasta el siguiente reinicio.
Valores y variantes
isolcpus=<cpu-list>Forma heredada; el aislamiento de dominios está implícito.
isolcpus=domain,<cpu-list>Excluir las CPU de los dominios de balanceo de carga del planificador.
isolcpus=nohz,<cpu-list>Activar el comportamiento de aislamiento full-dynticks para las CPU.
isolcpus=managed_irq,<cpu-list>Exclusión en la medida de lo posible de las máscaras de IRQ administradas cuando hay CPU de mantenimiento disponibles.
El aislamiento no desplaza automáticamente los hilos del kernel, las colas de trabajo, las colas de dispositivos, los temporizadores ni los hilos de aplicaciones. Es un componente de un diseño completo de mantenimiento del sistema.
Detiene el tick periódico del planificador en las CPU indicadas mientras ejecutan una carga de trabajo adecuada, lo que reduce las interrupciones recurrentes del kernel. Al menos una CPU de mantenimiento permanece fuera del conjunto; la CPU de arranque se excluye automáticamente.
Valores y variantes
nohz_full=<cpu-list>Seleccionar CPU full-dynticks, por ejemplo 2-15,18-31.
nohz_full=allSolicitar todas las CPU posibles; el kernel sigue conservando las CPU de mantenimiento necesarias.
omittedSin CPU full-dynticks seleccionadas durante el arranque.
Compromiso o modo de fallo
Una CPU incluida en la lista puede seguir recibiendo interrupciones, trabajo de hilos del kernel, fallos de página, invalidaciones de TLB y llamadas entre CPU, a menos que esas rutas se controlen por separado.
rcu_nocbsDescarga de funciones de retorno de RCUAbrir
Propósito
Desplaza la invocación de funciones de retorno de RCU de las CPU seleccionadas a kthreads dedicados. Un token sin valor no selecciona CPU durante el arranque; se necesita una lista explícita de CPU o un mecanismo de ejecución compatible.
Valores y variantes
rcu_nocbs=<cpu-list>Descargar las funciones de retorno de las CPU indicadas, por ejemplo rcu_nocbs=1-3.
rcu_nocbs with no argumentSin CPU seleccionadas durante el arranque; las CPU aptas pueden activarse o desactivarse más adelante mediante cpusets/interfaces de ejecución.
rcu_nocb_pollHacer que los kthreads nocb sondeen en lugar de depender de activaciones; puede reducir la latency de activación a un costo energético considerable.
omittedUtilizar la ubicación normal de las funciones de retorno, salvo que los kernels actuales descargan automáticamente las CPU nohz_full.
Compromiso o modo de fallo
La descarga desplaza el trabajo; no lo elimina. Una capacidad insuficiente de las CPU de mantenimiento puede acumular funciones de retorno pendientes y provocar bloqueos en todo el sistema.
Clocksource, política de energía PCIe y soluciones para problemas de plataforma
Controles de gestión del tiempo y de plataforma que pueden afectar a la latency de activación, el trabajo periódico y la previsibilidad de las rutas de los dispositivos.
pcie_aspm.policyPolítica de PCI Express Active State Power ManagementAbrir
Propósito
Selecciona la política de PCIe Active State Power Management. Las políticas disponibles equilibran la latency de activación del enlace con el consumo de energía de la plataforma, según el control que el firmware y el kernel tengan de cada enlace.
Valores y variantes
defaultUtilizar la política del firmware/predeterminada.
performancePriorizar el rendimiento y desactivar ASPM/Clock PM bajo la política del kernel.
powersaveActivar estados de ahorro de energía del enlace con una política equilibrada.
powersupersaveUtilizar la política de ahorro de energía más agresiva disponible.
Compromiso o modo de fallo
El consumo de energía aumenta, y algunos enlaces controlados por el firmware pueden no seguir la política solicitada.
acpi_pad.disableControl de ACPI Processor Aggregator específico de la versión o del proveedorAbrir
Propósito
Controla una opción de ACPI Processor Aggregator específica del árbol del kernel destinada a evitar el trabajo de inyección de inactividad. El código upstream actual de acpi_pad puede no exponer este parámetro de módulo, por lo que debe verificarse la compatibilidad en el kernel y la distribución exactos.
Valores y variantes
acpi_pad.disable=1Compatible únicamente con árboles del kernel que exponen este parámetro de módulo.
acpi_pad.disable=0Activar/comportamiento predeterminado en árboles que implementan el parámetro.
driver/module blacklist policyAlternativa operativa portable cuando el driver es modular y se ha validado que no es necesario.
Compromiso o modo de fallo
Eliminar comportamientos de gestión de energía de la plataforma puede afectar a lo que espera el firmware. Valide en el modelo de servidor y la revisión de BIOS exactos.
clocksourceSelección de la fuente de tiempo del kernelAbrir
Propósito
Selecciona un clocksource del kernel por su nombre. En sistemas modernos con TSC invariable y sincronizado, TSC puede ofrecer un bajo costo de lectura y alta resolución, mientras que otras plataformas pueden requerir otra fuente validada.
Valores y variantes
clocksource=tscForzar TSC cuando el kernel lo considere disponible.
clocksource=hpetUtilizar HPET donde esté disponible; suele tener un mayor costo de lectura.
clocksource=acpi_pmUtilizar el temporizador ACPI PM donde esté disponible.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed sourceOpciones específicas del hipervisor o de la plataforma.
omittedPermitir que el kernel seleccione la fuente estable mejor valorada.
Compromiso o modo de fallo
No añada tsc=reliable simplemente para suprimir advertencias. Esta anulación independiente desactiva las comprobaciones de estabilidad y solo es apropiada cuando existe una garantía validada de la plataforma.
no_timer_checkSolución alternativa de x86 para la comprobación de la fuente de IRQ del temporizadorAbrir
Propósito
Desactiva una comprobación durante el arranque destinada a detectar un enrutamiento defectuoso de interrupciones del temporizador. Es una solución de compatibilidad para entornos de hardware o máquinas virtuales específicos, no una optimización general de latency.
Valores y variantes
no_timer_checkOmitir la comprobación del enrutamiento del temporizador.
omittedEjecutar las comprobaciones normales de temporizadores del kernel.
Compromiso o modo de fallo
Suprimir un diagnóstico puede ocultar un problema de enrutamiento del temporizador de la plataforma que más adelante se manifieste como ticks perdidos o inestabilidad en la gestión del tiempo.
Seguridad, auditoría, watchdogs y comprobaciones de máquina
Opciones de gran impacto que reducen la sobrecarga a costa de la seguridad o del diagnóstico de fallos. Requieren una decisión explícita sobre el riesgo en producción.
selinuxInicialización de SELinuxAbrir
Propósito
Controla si SELinux se inicializa y qué modo de política se utiliza durante el arranque. Desactivar la inicialización elimina la aplicación de políticas y los puntos de auditoría de SELinux del sistema activo.
Valores y variantes
selinux=0Desactivar SELinux durante el arranque.
selinux=1 or omittedPermitir la inicialización de SELinux cuando esté compilado y configurado.
enforcing=0Alternativa relacionada: inicializar SELinux en modo permisivo para registrar las denegaciones sin aplicarlas.
enforcing=1Comenzar a aplicar las restricciones cuando la política lo admita.
Compromiso o modo de fallo
selinux=0 es una decisión de seguridad, no un requisito genérico de HFT. Su reactivación normalmente requiere un reinicio y puede exigir volver a etiquetar el sistema de archivos.
mitigationsPolítica de mitigación de vulnerabilidades de CPUAbrir
Propósito
Selecciona una política de mitigación de vulnerabilidades de CPU. Los modos disponibles equilibran la sobrecarga del cambio de contexto y del control de especulación con la protección frente a las vulnerabilidades de hardware aplicables.
Valores y variantes
offDesactivar todas las mitigaciones opcionales.
autoActivar las mitigaciones según el estado de vulnerabilidad de la CPU y los valores predeterminados del kernel.
auto,nosmtMitigaciones automáticas más desactivación de SMT cuando sea necesario.
omittedUtilizar la política compilada/predeterminada.
Compromiso o modo de fallo
Esto puede exponer datos del kernel, de procesos, de máquinas virtuales y entre hilos, según la CPU. La mejora de latency depende del hardware y de la carga de trabajo.
auditEstado inicial del subsistema de auditoría de LinuxAbrir
Propósito
Controla si el subsistema de auditoría del kernel se activa durante el arranque. El estado seleccionado afecta a la sobrecarga de generación de eventos y a las pruebas disponibles para seguridad, cumplimiento normativo y respuesta a incidentes.
Valores y variantes
audit=0 or audit=offDesactivar la auditoría para este arranque; no puede activarse por completo después sin reiniciar.
audit=1 or audit=onActivar la auditoría durante el arranque.
omittedUtilizar el valor predeterminado configurado del kernel o de la distribución.
Compromiso o modo de fallo
Desactivar la auditoría puede incumplir requisitos normativos, de respuesta a incidentes y de análisis forense.
mceGestión de comprobaciones de máquina en x86Abrir
Propósito
Controla la gestión de x86 Machine Check Exception y el comportamiento de recuperación relacionado. Desactivarla elimina los informes asíncronos de errores de hardware, así como la telemetría crítica para fallos de CPU, memoria e interconexión.
Valores y variantes
offDesactivar la gestión de comprobaciones de máquina.
no_cmciDesactivar la gestión de interrupciones por errores corregidos y utilizar sondeo cuando sea compatible.
dont_log_ceNo registrar errores corregidos.
ignore_ceIgnorar errores corregidos.
no_lmceDesactivar la compatibilidad con Local Machine Check Exception.
bootlog or nobootlogControlar el registro de comprobaciones de máquina detectadas durante el arranque en kernels compatibles.
omittedUtilizar la gestión normal de comprobaciones de máquina.
Compromiso o modo de fallo
Desactivar MCE puede convertir un componente en deterioro diagnosticable en corrupción silenciosa de datos, reinicios inexplicables o picos de latency imposibles de rastrear.
Verificar tras el arranque
dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
nomceOpción heredada de comprobación de máquina en x86-32Abrir
Propósito
Desactiva la compatibilidad con Machine Check Exception en kernels x86 de 32 bits. No es el control normal de x86-64 y puede resultar redundante cuando ya se ha seleccionado otra política de comprobación de máquina.
Valores y variantes
nomceDesactivar MCE en compilaciones x86 de 32 bits compatibles.
omittedUtilizar la política normal de la arquitectura.
Compromiso o modo de fallo
Mantener tokens redundantes o no aplicables a la arquitectura dificulta la auditoría de la configuración de arranque y puede ocultar supuestos incorrectos.
norandmapsAleatorización del espacio de direcciones del espacio de usuarioAbrir
Propósito
Desactiva ASLR en el espacio de usuario, lo que equivale a establecer kernel.randomize_va_space=0. Las direcciones virtuales se vuelven más repetibles, pero la resistencia frente a la explotación se reduce de forma significativa.
Valores y variantes
norandmapsDesactivar la aleatorización del espacio de direcciones del espacio de usuario.
omittedUtilizar la política ASLR de sysctl/predeterminada.
kernel.randomize_va_space=0, 1, or 2Política de ejecución/sysctl: desactivada, aleatorización conservadora o aleatorización completa.
Compromiso o modo de fallo
Esto debilita la defensa frente a la explotación de corrupción de memoria en todo el host.
nowatchdogOpción principal de watchdogs de bloqueo del kernelAbrir
Propósito
Desactiva los watchdogs de hard-lockup y de soft-lockup. Por ello, las opciones independientes que desactivan watchdogs específicos pueden resultar redundantes cuando este indicador está presente.
Valores y variantes
nowatchdogDesactivar los watchdogs de bloqueo del kernel.
omittedUtilizar la política de watchdog configurada.
watchdog_thresh=<seconds>Alternativa relacionada: mantener la detección, pero aumentar el umbral.
Compromiso o modo de fallo
Un hard-lockup o soft-lockup puede persistir sin que el kernel lo comunique. Asegúrese de mantener otro mecanismo independiente para comprobar que el sistema sigue activo.
Controla la migración automática de páginas y la política de traducción DMA para mantener una localidad estable y rutas de dispositivos predecibles.
numa_balancingMigración automática de páginas NUMAAbrir
Propósito
Controla el balanceo NUMA automático, que muestrea el acceso a memoria protegiendo páginas periódicamente y puede migrar tareas o páginas. El estado elegido equilibra la corrección automática de localidad con el ruido de fallos de página y migraciones.
Valores y variantes
disableDesactivar el balanceo NUMA automático.
enableActivar el balanceo NUMA automático.
omittedUtilizar el valor predeterminado del kernel o de la distribución.
Compromiso o modo de fallo
Con el balanceo automático desactivado, una mala ubicación de la aplicación seguirá siendo mala. Vincule explícitamente la memoria y valide los contadores de acceso remoto.
intel_iommuInicialización de Intel DMAR/IOMMUAbrir
Propósito
Controla la inicialización de Intel IOMMU y las capacidades relacionadas de remapeo DMA o de interrupciones, según la compatibilidad del hardware y del firmware.
Valores y variantes
onActivar el driver Intel IOMMU.
offDesactivarlo.
igfx_offOmitir la unidad DMAR de gráficos integrados.
sp_offDesactivar la compatibilidad con superpáginas de IOMMU.
sm_on or sm_offPermitir o impedir el modo escalable de Intel.
strictSolicitud obsoleta específica del driver equivalente a iommu.strict=1.
tboot_noforceNo permitir que tboot fuerce la activación de IOMMU; reduce la protección frente a ataques DMA.
Compromiso o modo de fallo
Los defectos del firmware y la política de traducción pueden afectar a la latency o a la estabilidad del dispositivo. Valide cada generación de servidor/BIOS.
Verificar tras el arranque
dmesg | grep -Ei "DMAR|IOMMU"
find /sys/kernel/iommu_groups -maxdepth 1 -type d 2>/dev/null | head
lspci -vv | grep -i "IOMMU\|ATS" | head -n 40
iommuPolítica predeterminada de passthrough DMAAbrir
Propósito
Selecciona la política de dominios IOMMU predeterminada para dispositivos ordinarios. El passthrough o el mapeo de identidad pueden reducir la sobrecarga de traducción DMA para dispositivos de confianza, mientras que los dominios traducidos proporcionan un aislamiento más sólido.
Valores y variantes
iommu=ptUtilizar el modo passthrough de forma predeterminada.
iommu=noptUtilizar el modo DMA traducido de forma predeterminada.
iommu.passthrough=1Control explícito moderno de passthrough.
iommu.passthrough=0Utilizar la traducción IOMMU de forma predeterminada.
iommu.strict=0 or 1Política relacionada de invalidación en modo traducido: diferida o estricta.
iommu=off, force, noforce, soft, merge, nomergeControles generales específicos de la arquitectura; no son sinónimos directos de passthrough.
Compromiso o modo de fallo
El passthrough debilita el aislamiento DMA. Un dispositivo defectuoso o comprometido puede acceder a la memoria del host fuera de sus búferes previstos.
Verificar tras el arranque
dmesg | grep -Ei "IOMMU.*(passthrough|Default domain)|DMAR"
find /sys/kernel/iommu_groups -maxdepth 2 -type l 2>/dev/null | head -n 40
Comportamiento de asignación de nombres de NIC en el espacio de usuario y ajustes de tiempo de espera y reintentos de almacenamiento que determinan la rapidez con la que se hacen visibles los fallos.
net.ifnamesPolítica de nombres de interfaz predecibles de systemd/udevAbrir
Propósito
Controla la asignación de nombres de interfaz predecibles en systemd/udev. Desactivarla puede restaurar nombres heredados como eth0 cuando la distribución lo permite; es una convención del espacio de usuario que se pasa en la línea de comandos del kernel, no un control de latency de red.
Valores y variantes
0Desactivar NamePolicy predecible.
1 or omittedPermitir nombres predecibles según el esquema de nombres activo de systemd y la política .link.
Compromiso o modo de fallo
El orden heredado ethX puede cambiar cuando cambian el hardware, el firmware o el orden de detección. Una identidad de interfaz incorrecta es más peligrosa que cualquier preferencia de nombres.
Verificar tras el arranque
ip -br link
udevadm test-builtin net_id /sys/class/net/$(ls /sys/class/net | head -n1) 2>/dev/null | head -n 40 || true
cat /proc/cmdline
nvme_core.io_timeoutTiempo de espera de comandos de E/S NVMe en segundosAbrir
Propósito
Establece el valor de entrada del tiempo de espera de E/S NVMe en segundos. El código upstream actual almacena el parámetro del módulo como un entero sin signo con un valor predeterminado de 30 y, después, lo convierte al tiempo de espera de la capa de bloques en jiffies; por lo tanto, el tiempo de espera efectivo de la cola debe verificarse tras el arranque.
Valores y variantes
30Valor predeterminado upstream actual en segundos; verifique el kernel de destino.
a finite positive integerTiempo de espera explícito en segundos.
4294967295Valor máximo de entrada sin signo de 32 bits, no un token de infinito. La expresión del driver nvme_io_timeout * HZ puede desbordarse antes de convertirse en el tiempo de espera efectivo de la solicitud; en un kernel de 1000 Hz este valor puede resultar en unos 49.7 días en lugar de 136 años.
Compromiso o modo de fallo
Un tiempo de espera muy grande o desbordado puede dejar la E/S bloqueada durante un período inesperado y retrasar el restablecimiento, la conmutación por error o la recuperación de la aplicación. Considere el valor observado en /sys/block/<device>/queue/io_timeout como el comportamiento efectivo garantizado.
nvme_core.max_retriesNúmero máximo de reintentos de comandos NVMeAbrir
Propósito
Establece el número máximo de reintentos para los comandos NVMe aptos. El código upstream actual lo almacena como un byte sin signo y utiliza 5 de forma predeterminada.
Valores y variantes
0No reintentar los comandos aptos.
1–255Número máximo de reintentos; 10 duplica el valor predeterminado upstream actual.
omittedUtilizar el valor predeterminado del kernel.
Compromiso o modo de fallo
Más reintentos pueden prolongar la tail latency y retrasar la conmutación por error. Menos reintentos pueden hacer visibles antes los errores transitorios del medio o del transporte.
Cinco capas que sustentan un perfil exacto de arranque para producción
Un perfil fácil de mantener separa las opciones invariables de la plataforma de las listas de CPU específicas de la topología y de las anulaciones de seguridad de alto riesgo. HFTKernel evalúa estas capas conjuntamente y entrega una configuración revisable, comprobable y reversible.
Dispositivo raíz, modo de montaje inicial, consola serie y reserva de kdump probada.
02
Determinismo de la plataforma
Driver de inactividad, política de frecuencia, PCIe ASPM, clocksource, NUMA y política IOMMU.
03
Topología
CPU de mantenimiento, CPU full-dynticks, descarga de RCU, máscara de IRQ predeterminada, afinidad de colas y cpusets de aplicaciones.
04
Aplicación de políticas en tiempo de ejecución
Máscaras de colas de trabajo, afinidad de hilos del kernel, política EPB/governor, colas de NIC, vinculación de memoria y CPU affinity de servicios.
05
Controles de riesgo
Mitigaciones de seguridad, LSM, auditoría, ASLR, watchdog y política de comprobación de máquina revisados de forma independiente.
Verificación tras el arranque
Confirme el estado efectivo antes de medir la latency
La línea de comandos es solo una entrada. Esta lista de comprobación confirma el kernel en ejecución, la topología de CPU, el conjunto full-dynticks, la ubicación de IRQ, el clocksource, la política de energía, IOMMU, el estado de seguridad y la política de recuperación de NVMe.
Documentación upstream utilizada para esta referencia
Compruebe siempre la documentación y el código fuente de la versión exacta del kernel, los parches de la distribución, el gestor de arranque, el firmware y la pila del espacio de usuario implementados en el host de destino.