Entenda cada controle. Solicite o perfil exato de produção.
Esta referência pública explica a finalidade, os valores aceitos, as implicações para a latency, os modos de falha e a verificação após a inicialização. Ela deliberadamente não publica uma linha de comando universal do HFTKernel: os valores exatos dependem da topologia de CPU, do posicionamento NUMA, das filas de NIC, da manutenção do tempo, do armazenamento, da política de segurança e da carga de trabalho.
Não existe uma linha de comando universal para baixa latency.
Um perfil de produção deve coordenar como um único sistema as CPUs de manutenção, as CPUs de negociação, as threads irmãs SMT, os nós NUMA, as filas de NIC e armazenamento, as threads RCU, as filas de trabalho, as fontes de tempo e a afinidade das aplicações.
Separe os controles de desempenho da política de riscos
O isolamento de CPU, o posicionamento de IRQ e o comportamento NUMA são controles de desempenho. Mitigações, LSM, auditoria, ASLR, watchdog e configurações de verificação de máquina exigem uma decisão de segurança e operação separada.
Verifique o efeito, não a sintaxe
Um parâmetro pode não ser compatível, ser redundante, ser substituído pelo firmware ou ser alterado posteriormente pelo espaço de usuário. O estado efetivo em sysfs, procfs, dmesg, na afinidade de IRQ e na latency medida é a referência válida.
Perfil de produção mediante solicitação
Os valores exatos são gerados para seu host e sua carga de trabalho.
A engenharia do HFTKernel coordena como um único sistema as CPUs de negociação e manutenção, as threads irmãs SMT, os nós NUMA, as filas de NIC e armazenamento, o acesso de gerenciamento, a recuperação, a manutenção do tempo e a segurança antes de selecionar os parâmetros de inicialização.
Cada controle, suas variantes e seu efeito operacional
Pesquise por parâmetro, subsistema, valor, risco ou comando de verificação. A referência pública explica o controle sem selecionar um valor de produção.
⌕/
Exibindo 35 de 35 parâmetros
Precisa dos valores selecionados, das máscaras de CPU e da linha de comando final?Eles são gerados após uma revisão da topologia e não são publicados como uma configuração predefinida genérica.
Nenhum parâmetro corresponde a esta pesquisa. Limpe a consulta ou pesquise um subsistema como CPU, IRQ, IOMMU, segurança ou NVMe.
Parâmetros: 5
Inicialização, sistema de arquivos raiz, console e captura de falhas
Parâmetros que selecionam o kernel e o sistema de arquivos raiz, definem o comportamento da montagem inicial, habilitam o console serial e reservam memória para kdump.
BOOT_IMAGEMetadados do carregador de inicialização; não é um controle de latencyAbrir
Finalidade
O GRUB costuma acrescentar este token para registrar a imagem do kernel selecionada. O kernel upstream não o usa como política de ajuste; ele é útil principalmente para diagnóstico e para correlacionar uma inicialização com uma imagem específica.
Valores e variantes
BOOT_IMAGE=/boot/vmlinuz-<version>Caminho com formato de sistema de arquivos usado por muitas configurações do GRUB.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version>Notação de dispositivo do GRUB.
omittedVálido; o carregador de inicialização continua determinando a imagem selecionada.
Compromisso ou modo de falha
Uma string BOOT_IMAGE copiada pode estar desatualizada ou ser apenas informativa. A identidade do kernel em execução é a referência válida.
rootSeleção do dispositivo raiz pelo kernel/initramfsAbrir
Finalidade
Seleciona o dispositivo de blocos ou a identidade lógica que se tornará o sistema de arquivos raiz. Um initramfs pode resolver o valor antes de montar a raiz real.
Valores e variantes
root=UUID=<filesystem-uuid>Identificador estável do sistema de arquivos; geralmente preferível a um nome de dispositivo que pode mudar.
root=PARTUUID=<partition-uuid>Identificador estável da tabela de partições.
root=LABEL=<label> or root=PARTLABEL=<label>Rótulo do sistema de arquivos ou da partição legível por pessoas.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name>Caminho direto do dispositivo; simples, mas o nome pode variar conforme a ordem de detecção.
Compromisso ou modo de falha
Um valor incorreto impede a inicialização. Verifique se o initramfs contém os drivers necessários de armazenamento, LVM, RAID ou criptografia antes da implantação.
roModo de montagem inicial do sistema de arquivos raizAbrir
Finalidade
Solicita que o kernel monte inicialmente o sistema de arquivos raiz como somente leitura. O sistema de inicialização normalmente realiza verificações e depois remonta o sistema de arquivos para leitura e gravação.
Valores e variantes
roMontagem inicial somente para leitura.
rwMontagem inicial para leitura e gravação.
Compromisso ou modo de falha
A alteração pode mudar o reparo durante o início da inicialização e o comportamento do initramfs; teste os caminhos de recuperação.
Controla para onde as mensagens do console do kernel são enviadas. Os valores do console serial definem o dispositivo, a taxa de transmissão, a paridade e os bits de dados; destinos de console virtual e local também estão disponíveis para plataformas compatíveis.
Valores e variantes
console=tty0Terminal virtual local.
console=ttyS<N>,<baud><parity><bits>Console serial compatível com 8250; exemplos incluem 115200n8 e 9600n8.
console=hvc0Console virtual do hipervisor em sistemas convidados compatíveis.
console=nullDescartar a saída do console.
multiple console= tokensDuplicar a saída do kernel em mais de um console elegível; verifique qual dispositivo se torna /dev/console.
Compromisso ou modo de falha
Um grande volume de saída no console pode ser custoso, especialmente em um dispositivo serial lento. Controle o nível e a frequência dos registros em vez de desativar o acesso de recuperação sem avaliar.
Reserva memória para um kernel de captura que pode gravar um vmcore após um panic. Algumas distribuições implementam o valor auto, mas ele não é uma política de dimensionamento upstream universalmente portável.
Valores e variantes
crashkernel=<size>Reservar uma quantidade fixa, por exemplo 512M.
crashkernel=<range>:<size>[,<range>:<size>…]Selecionar o tamanho da reserva conforme a RAM instalada.
crashkernel=<size>,high plus crashkernel=<size>,lowSeparar as reservas de memória alta e baixa nas arquiteturas compatíveis.
crashkernel=<size>,cmaUsar uma reserva baseada em CMA quando houver suporte.
crashkernel=autoDimensionamento automático específico da distribuição; confirme o suporte no kernel de destino e nas ferramentas de inicialização.
omittedSem reserva para o kernel de captura; o kdump não pode capturar um vmcore.
Compromisso ou modo de falha
A RAM reservada fica indisponível para o kernel principal. Um kernel de captura com memória insuficiente falha quando é mais necessário.
Controles de estados C, estados P, preferência entre energia e desempenho e multithreading simultâneo.
intel_idle.max_cstateSeleção e profundidade do driver cpuidle da IntelAbrir
Finalidade
Controla o estado de ociosidade mais profundo exposto pelo intel_idle. Um valor de 0 desativa o intel_idle e recorre a outro driver de ociosidade, geralmente acpi_idle; por si só, não garante que a CPU permaneça em C0.
Valores e variantes
0Desativar o intel_idle e recorrer à alternativa da plataforma.
1Expor apenas o estado menos profundo do intel_idle.
2–9Permitir estados progressivamente mais profundos até o índice do driver selecionado, conforme o suporte da CPU.
omittedUsar o padrão do driver e a tabela de estados da plataforma.
Compromisso ou modo de falha
Estados de ociosidade pouco profundos melhoram a consistência da ativação, mas aumentam o consumo, o calor, a demanda de ventilação e possivelmente a pressão sobre a frequência sustentada.
processor.max_cstateLimite de estados de ociosidade do processador ACPIAbrir
Finalidade
Limita o estado de ociosidade ACPI mais profundo registrado pelo driver de ociosidade do processador. É relevante principalmente quando o acpi_idle está ativo, incluindo casos em que outro driver de ociosidade foi desativado ou está indisponível.
Valores e variantes
0No código upstream atual, nenhum estado C de ACPI passa pelo laço de registro; o comportamento alternativo resultante deve ser verificado na plataforma de destino.
1Limitar a C1.
2–8Permitir estados ACPI até a profundidade selecionada, quando expostos pelo firmware.
9 or another value above the normal limitPode substituir alguns limites da lista de exclusão DMI; não é uma recomendação de latency.
omittedUsar os padrões do firmware e do driver.
Compromisso ou modo de falha
Usar 0 pode produzir um comportamento alternativo específico da plataforma. Não o trate como um sinônimo portável de “somente C0”.
intel_pstateModo do driver de escalonamento de frequência de CPU IntelAbrir
Finalidade
Seleciona o modo de operação do driver de escalonamento de frequência intel_pstate ou impede seu carregamento. O modo escolhido muda a semântica do controle, o comportamento de HWP e os governors disponíveis.
Valores e variantes
disableNão ativar intel_pstate.
activeUsar o modo ativo do intel_pstate e seus algoritmos internos performance/powersave.
passiveUsar intel_pstate como driver de escalonamento sob governors genéricos de cpufreq.
forceForçar intel_pstate em sistemas normalmente excluídos; os controles térmicos e de energia da plataforma podem ser afetados.
no_hwpNão ativar Hardware P-states.
hwp_onlyCarregar somente onde HWP estiver disponível.
support_acpi_ppcRespeitar os limites ACPI _PPC.
per_cpu_perf_limitsExpor limites de desempenho por CPU lógica.
no_casDesativar o suporte ao escalonamento ciente da capacidade em sistemas híbridos.
Compromisso ou modo de falha
Uma política de frequência máxima fixa pode aumentar a limitação térmica e reduzir a sustentabilidade do desempenho com todos os núcleos. Meça a residência em frequências e a tail latency em conjunto.
epbToken de inicialização não padronizado; Intel Energy Performance Bias normalmente é configurado por sysfs ou x86_energy_perf_policyAbrir
Finalidade
Representa uma política de Energy Performance Bias em árvores do kernel ou ferramentas de inicialização que processam explicitamente o token. O Linux upstream normalmente expõe Intel EPB por CPU por meio de energy_perf_bias e não define epb= como parâmetro genérico da linha de comando do kernel.
Valores e variantes
0Preferência máxima por desempenho na interface EPB.
1–14Compromisso intermediário entre desempenho e energia.
15Preferência máxima por economia de energia.
performance, balance-performance, normal, balance-power, powerValores nomeados aceitos pela interface sysfs por CPU em kernels compatíveis.
Compromisso ou modo de falha
Firmware, suspensão e retomada, conexão a quente de CPU ou um serviço de gerenciamento de energia podem sobrescrever EPB. Trate a política selecionada como estado de execução gerenciado e verifique-a continuamente.
Desativa as threads SMT secundárias para que cada núcleo físico exponha no máximo uma CPU lógica on-line. Isso pode reduzir a contenção entre threads irmãs nas unidades de execução, nos caches e em alguns caminhos de interrupção.
Valores e variantes
nosmtDesativar SMT na inicialização; a reativação em tempo de execução pode continuar possível quando a plataforma e o kernel permitirem.
nosmt=forceForçar a desativação de SMT e impedir a reativação em tempo de execução.
omittedUsar os padrões do firmware e do kernel.
Compromisso ou modo de falha
Desativar SMT reduz a capacidade de CPUs lógicas e pode concentrar mais trabalho em segundo plano em menos CPUs de manutenção.
Comportamento do tick, isolamento de CPU, posicionamento de IRQ e RCU
O grupo principal de controles de latency: CPUs full-dynticks, isolamento de domínios do escalonador, afinidade de manutenção, defasagem de temporizadores e transferência de callbacks de RCU.
nohzSupressão do tick na ociosidadeAbrir
Finalidade
Controla o comportamento de ociosidade sem tick do kernel quando ele foi compilado com o suporte NO_HZ necessário. O modo ativado permite que CPUs ociosas interrompam o tick periódico do escalonador.
Valores e variantes
onAtivar a ociosidade sem tick onde houver suporte.
offDesativar a ociosidade sem tick e manter os ticks periódicos.
omittedUsar o padrão da configuração do kernel.
Compromisso ou modo de falha
O parâmetro não tem efeito se o kernel em execução não tiver o suporte correspondente na compilação.
skew_tickDistribuição da fase do tick periódico por CPUAbrir
Finalidade
Controla se a atividade do tick periódico é defasada entre as CPUs em vez de disparar todos os ticks de CPU no mesmo instante. Ativar o recurso pode reduzir a contenção de bloqueios e o ruído sincronizado em sistemas grandes.
Valores e variantes
0Não defasar intencionalmente os ticks periódicos.
1Distribuir as fases do tick entre as CPUs.
Compromisso ou modo de falha
A contrapartida é um consumo maior de energia, porque as oportunidades de ociosidade de todo o encapsulamento podem ser reduzidas.
irqaffinityMáscara padrão de afinidade de IRQAbrir
Finalidade
Define a lista padrão de CPUs para IRQs que não recebem uma política de afinidade mais específica. A máscara de CPU selecionada determina onde começa o processamento das interrupções sem outra atribuição.
Valores e variantes
irqaffinity=<cpu-list>CPUs e intervalos separados por vírgulas, por exemplo 0,4-7.
omittedUsar a máscara de afinidade padrão da arquitetura/kernel.
Compromisso ou modo de falha
A CPU 0 pode se tornar um gargalo. Interrupções MSI-X gerenciadas podem não obedecer à máscara padrão da mesma forma que IRQs comuns.
isolcpusIsolamento de domínios do escalonador e de IRQs gerenciadasAbrir
Finalidade
Seleciona CPUs e indicadores de isolamento para exclusão dos domínios do escalonador, comportamento full-dynticks e prevenção de IRQs gerenciadas. O isolamento de domínios é uma decisão de inicialização irreversível até a próxima reinicialização.
Valores e variantes
isolcpus=<cpu-list>Forma legada; o isolamento de domínios está implícito.
isolcpus=domain,<cpu-list>Excluir as CPUs dos domínios de balanceamento de carga do escalonador.
isolcpus=nohz,<cpu-list>Ativar o comportamento de isolamento full-dynticks para as CPUs.
isolcpus=managed_irq,<cpu-list>Exclusão na medida do possível das máscaras de IRQ gerenciadas quando houver CPUs de manutenção disponíveis.
O isolamento não desloca automaticamente threads do kernel, filas de trabalho, filas de dispositivos, temporizadores ou threads de aplicações. Ele é um componente de um projeto completo de manutenção do sistema.
Interrompe o tick periódico do escalonador nas CPUs listadas enquanto executam uma carga de trabalho adequada, reduzindo as interrupções recorrentes do kernel. Pelo menos uma CPU de manutenção permanece fora do conjunto; a CPU de inicialização é excluída automaticamente.
Valores e variantes
nohz_full=<cpu-list>Selecionar CPUs full-dynticks, por exemplo 2-15,18-31.
nohz_full=allSolicitar todas as CPUs possíveis; o kernel ainda mantém as CPUs de manutenção necessárias.
omittedSem CPUs full-dynticks selecionadas na inicialização.
Compromisso ou modo de falha
Uma CPU listada ainda pode receber interrupções, trabalho de threads do kernel, falhas de página, invalidações de TLB e chamadas entre CPUs, a menos que esses caminhos sejam controlados separadamente.
Desloca a invocação de callbacks de RCU das CPUs selecionadas para kthreads dedicadas. Um token sem valor não seleciona CPUs na inicialização; é necessária uma lista explícita de CPUs ou um mecanismo de execução compatível.
Valores e variantes
rcu_nocbs=<cpu-list>Transferir os callbacks das CPUs listadas, por exemplo rcu_nocbs=1-3.
rcu_nocbs with no argumentSem CPUs selecionadas na inicialização; CPUs elegíveis podem ser ativadas ou desativadas posteriormente por cpusets/interfaces de execução.
rcu_nocb_pollFazer as kthreads nocb consultarem periodicamente em vez de dependerem de ativações; pode reduzir a latency de ativação com um custo energético substancial.
omittedUsar o posicionamento normal de callbacks, exceto que os kernels atuais transferem automaticamente os callbacks das CPUs nohz_full.
Compromisso ou modo de falha
A transferência desloca o trabalho; não o elimina. CPUs de manutenção com capacidade insuficiente podem acumular callbacks pendentes e provocar bloqueios em todo o sistema.
Clocksource, política de energia PCIe e soluções para problemas de plataforma
Controles de manutenção do tempo e de plataforma que podem afetar a latency de ativação, o trabalho periódico e a previsibilidade dos caminhos dos dispositivos.
pcie_aspm.policyPolítica de PCI Express Active State Power ManagementAbrir
Finalidade
Seleciona a política de PCIe Active State Power Management. As políticas disponíveis equilibram a latency de ativação do link com o consumo de energia da plataforma, conforme o controle que firmware e kernel têm sobre cada link.
Valores e variantes
defaultUsar a política do firmware/padrão.
performancePriorizar o desempenho e desativar ASPM/Clock PM sob a política do kernel.
powersaveAtivar estados de economia de energia do link com uma política equilibrada.
powersupersaveUsar a política de economia de energia mais agressiva disponível.
Compromisso ou modo de falha
O consumo de energia aumenta, e alguns links controlados pelo firmware podem não seguir a política solicitada.
acpi_pad.disableControle de ACPI Processor Aggregator específico da versão ou do fornecedorAbrir
Finalidade
Controla uma opção de ACPI Processor Aggregator específica da árvore do kernel destinada a impedir o trabalho de injeção de ociosidade. O código upstream atual de acpi_pad pode não expor esse parâmetro de módulo, portanto o suporte deve ser verificado no kernel e na distribuição exatos.
Valores e variantes
acpi_pad.disable=1Compatível somente com árvores do kernel que expõem esse parâmetro de módulo.
acpi_pad.disable=0Ativar/comportamento padrão nas árvores que implementam o parâmetro.
driver/module blacklist policyAlternativa operacional portável quando o driver é modular e foi validado como desnecessário.
Compromisso ou modo de falha
Remover comportamentos de gerenciamento de energia da plataforma pode afetar as expectativas do firmware. Valide no modelo de servidor e na revisão de BIOS exatos.
clocksourceSeleção da fonte de tempo do kernelAbrir
Finalidade
Seleciona um clocksource do kernel pelo nome. Em sistemas modernos com TSC invariável e sincronizado, o TSC pode oferecer baixo custo de leitura e alta resolução, enquanto outras plataformas podem exigir outra fonte validada.
Valores e variantes
clocksource=tscForçar TSC quando o kernel o considerar disponível.
clocksource=hpetUsar HPET onde estiver disponível; geralmente com maior custo de leitura.
clocksource=acpi_pmUsar o temporizador ACPI PM onde estiver disponível.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed sourceOpções específicas do hipervisor ou da plataforma.
omittedPermitir que o kernel selecione a fonte estável mais bem avaliada.
Compromisso ou modo de falha
Não adicione tsc=reliable apenas para suprimir avisos. Essa substituição separada desativa as verificações de estabilidade e só é apropriada quando existe uma garantia validada da plataforma.
no_timer_checkSolução alternativa de x86 para a verificação da fonte de IRQ do temporizadorAbrir
Finalidade
Desativa uma verificação na inicialização destinada a detectar roteamento defeituoso de interrupções do temporizador. É uma solução de compatibilidade para ambientes específicos de hardware ou máquinas virtuais, não uma otimização geral de latency.
Valores e variantes
no_timer_checkIgnorar a verificação do roteamento do temporizador.
omittedExecutar as verificações normais de temporizadores do kernel.
Compromisso ou modo de falha
Suprimir um diagnóstico pode ocultar um problema de roteamento do temporizador da plataforma que depois apareça como ticks perdidos ou instabilidade na manutenção do tempo.
Segurança, auditoria, watchdogs e verificações de máquina
Opções de grande impacto que reduzem a sobrecarga em troca de segurança ou diagnóstico de falhas. Elas exigem uma decisão explícita sobre o risco em produção.
selinuxInicialização do SELinuxAbrir
Finalidade
Controla se o SELinux é inicializado e qual modo de política é usado na inicialização. Desativar a inicialização remove a aplicação de políticas e os pontos de auditoria do SELinux do sistema ativo.
Valores e variantes
selinux=0Desativar o SELinux na inicialização.
selinux=1 or omittedPermitir a inicialização do SELinux quando compilado e configurado.
enforcing=0Alternativa relacionada: inicializar o SELinux em modo permissivo para registrar as negações sem aplicá-las.
enforcing=1Começar a aplicar as restrições quando a política permitir.
Compromisso ou modo de falha
selinux=0 é uma decisão de segurança, não um requisito genérico de HFT. A reativação normalmente exige reinicialização e pode exigir nova rotulagem do sistema de arquivos.
mitigationsPolítica de mitigação de vulnerabilidades de CPUAbrir
Finalidade
Seleciona uma política de mitigação de vulnerabilidades de CPU. Os modos disponíveis equilibram a sobrecarga de troca de contexto e de controle de especulação com a proteção contra as vulnerabilidades de hardware aplicáveis.
Valores e variantes
offDesativar todas as mitigações opcionais.
autoAtivar as mitigações conforme o estado de vulnerabilidade da CPU e os padrões do kernel.
auto,nosmtMitigações automáticas mais desativação de SMT quando necessário.
omittedUsar a política compilada/padrão.
Compromisso ou modo de falha
Isso pode expor dados do kernel, de processos, de máquinas virtuais e entre threads, dependendo da CPU. O ganho de latency depende do hardware e da carga de trabalho.
auditEstado inicial do subsistema de auditoria do LinuxAbrir
Finalidade
Controla se o subsistema de auditoria do kernel é ativado na inicialização. O estado selecionado afeta a sobrecarga de geração de eventos e as evidências disponíveis para segurança, conformidade e resposta a incidentes.
Valores e variantes
audit=0 or audit=offDesativar a auditoria nesta inicialização; ela não pode ser totalmente ativada depois sem reinicializar.
audit=1 or audit=onAtivar a auditoria na inicialização.
omittedUsar o padrão configurado do kernel ou da distribuição.
Compromisso ou modo de falha
Desativar a auditoria pode invalidar requisitos de conformidade, resposta a incidentes e análise forense.
mceTratamento de verificações de máquina em x86Abrir
Finalidade
Controla o tratamento de x86 Machine Check Exception e o comportamento de recuperação relacionado. Desativá-lo remove os relatórios assíncronos de erros de hardware, assim como a telemetria crítica para falhas de CPU, memória e interconexão.
Valores e variantes
offDesativar o tratamento de verificações de máquina.
no_cmciDesativar o tratamento de interrupções por erros corrigidos e usar consultas periódicas onde houver suporte.
dont_log_ceNão registrar erros corrigidos.
ignore_ceIgnorar erros corrigidos.
no_lmceDesativar o suporte a Local Machine Check Exception.
bootlog or nobootlogControlar o registro de verificações de máquina encontradas na inicialização em kernels compatíveis.
omittedUsar o tratamento normal de verificações de máquina.
Compromisso ou modo de falha
Desativar MCE pode transformar um componente em degradação diagnosticável em corrupção silenciosa de dados, reinicializações inexplicáveis ou picos de latency impossíveis de rastrear.
Verificar após a inicialização
dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
nomceOpção legada de verificação de máquina em x86-32Abrir
Finalidade
Desativa o suporte a Machine Check Exception em kernels x86 de 32 bits. Não é o controle normal de x86-64 e pode ser redundante quando outra política de verificação de máquina já está selecionada.
Valores e variantes
nomceDesativar MCE em compilações x86 de 32 bits compatíveis.
omittedUsar a política normal da arquitetura.
Compromisso ou modo de falha
Manter tokens redundantes ou não aplicáveis à arquitetura dificulta a auditoria da configuração de inicialização e pode ocultar premissas incorretas.
norandmapsRandomização do espaço de endereços do espaço de usuárioAbrir
Finalidade
Desativa ASLR no espaço de usuário, equivalente a definir kernel.randomize_va_space=0. Os endereços virtuais se tornam mais repetíveis, mas a resistência à exploração é reduzida de forma significativa.
Valores e variantes
norandmapsDesativar a randomização do espaço de endereços do espaço de usuário.
omittedUsar a política ASLR de sysctl/padrão.
kernel.randomize_va_space=0, 1, or 2Política de execução/sysctl: desativada, randomização conservadora ou randomização completa.
Compromisso ou modo de falha
Isso enfraquece a defesa contra a exploração de corrupção de memória em todo o host.
nowatchdogOpção principal de watchdogs de bloqueio do kernelAbrir
Finalidade
Desativa os watchdogs de hard-lockup e de soft-lockup. Portanto, opções separadas para desativar watchdogs específicos podem se tornar redundantes quando este indicador está presente.
Valores e variantes
nowatchdogDesativar os watchdogs de bloqueio do kernel.
omittedUsar a política de watchdog configurada.
watchdog_thresh=<seconds>Alternativa relacionada: manter a detecção, mas aumentar o limiar.
Compromisso ou modo de falha
Um hard-lockup ou soft-lockup pode persistir sem que o kernel o informe. Garanta que outro mecanismo independente de verificação de atividade permaneça em funcionamento.
Controla a migração automática de páginas e a política de tradução DMA para manter a localidade estável e os caminhos dos dispositivos previsíveis.
numa_balancingMigração automática de páginas NUMAAbrir
Finalidade
Controla o balanceamento NUMA automático, que amostra o acesso à memória protegendo páginas periodicamente e pode migrar tarefas ou páginas. O estado escolhido equilibra a correção automática de localidade com o ruído de falhas de página e migrações.
Valores e variantes
disableDesativar o balanceamento NUMA automático.
enableAtivar o balanceamento NUMA automático.
omittedUsar o padrão do kernel ou da distribuição.
Compromisso ou modo de falha
Com o balanceamento automático desativado, um posicionamento ruim da aplicação continuará ruim. Vincule a memória explicitamente e valide os contadores de acesso remoto.
Controla a inicialização de Intel IOMMU e os recursos relacionados de remapeamento DMA ou de interrupções, conforme o suporte do hardware e do firmware.
Valores e variantes
onAtivar o driver Intel IOMMU.
offDesativá-lo.
igfx_offIgnorar a unidade DMAR dos gráficos integrados.
sp_offDesativar o suporte a superpáginas de IOMMU.
sm_on or sm_offPermitir ou impedir o modo escalável da Intel.
strictSolicitação obsoleta específica do driver equivalente a iommu.strict=1.
tboot_noforceNão permitir que tboot force a ativação de IOMMU; reduz a proteção contra ataques DMA.
Compromisso ou modo de falha
Defeitos de firmware e a política de tradução podem afetar a latency ou a estabilidade do dispositivo. Valide cada geração de servidor/BIOS.
Verificar após a inicialização
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
Seleciona a política padrão de domínios IOMMU para dispositivos comuns. O passthrough ou o mapeamento de identidade podem reduzir a sobrecarga de tradução DMA para dispositivos confiáveis, enquanto domínios traduzidos oferecem isolamento mais forte.
Valores e variantes
iommu=ptUsar o modo passthrough por padrão.
iommu=noptUsar o modo DMA traduzido por padrão.
iommu.passthrough=1Controle explícito moderno de passthrough.
iommu.passthrough=0Usar tradução IOMMU por padrão.
iommu.strict=0 or 1Política relacionada de invalidação em modo traduzido: adiada ou estrita.
iommu=off, force, noforce, soft, merge, nomergeControles gerais específicos da arquitetura; não são sinônimos diretos de passthrough.
Compromisso ou modo de falha
O passthrough enfraquece o isolamento DMA. Um dispositivo defeituoso ou comprometido pode acessar a memória do host fora dos buffers previstos.
Verificar após a inicialização
dmesg | grep -Ei "IOMMU.*(passthrough|Default domain)|DMAR"
find /sys/kernel/iommu_groups -maxdepth 2 -type l 2>/dev/null | head -n 40
Comportamento de atribuição de nomes de NIC no espaço de usuário e configurações de tempo limite e novas tentativas de armazenamento que determinam a rapidez com que as falhas ficam visíveis.
net.ifnamesPolítica de nomes previsíveis de interfaces do systemd/udevAbrir
Finalidade
Controla a atribuição de nomes previsíveis de interfaces no systemd/udev. Desativá-la pode restaurar nomes legados como eth0 quando a distribuição permitir; é uma convenção do espaço de usuário passada na linha de comando do kernel, não um controle de latency de rede.
Valores e variantes
0Desativar NamePolicy previsível.
1 or omittedPermitir nomes previsíveis de acordo com o esquema de nomes ativo do systemd e a política .link.
Compromisso ou modo de falha
A ordem legada ethX pode mudar quando o hardware, o firmware ou a ordem de detecção mudam. Uma identidade de interface incorreta é mais perigosa que qualquer preferência de nomes.
Verificar após a inicialização
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_timeoutTempo limite de comandos de E/S NVMe em segundosAbrir
Finalidade
Define o valor de entrada do tempo limite de E/S NVMe em segundos. O código upstream atual armazena o parâmetro do módulo como um inteiro sem sinal com padrão de 30 e depois o converte no tempo limite da camada de blocos em jiffies; portanto, o tempo limite efetivo da fila deve ser verificado após a inicialização.
Valores e variantes
30Padrão upstream atual em segundos; verifique o kernel de destino.
a finite positive integerTempo limite explícito em segundos.
4294967295Valor máximo de entrada sem sinal de 32 bits, não um token de infinito. A expressão do driver nvme_io_timeout * HZ pode sofrer estouro antes de se tornar o tempo limite efetivo da solicitação; em um kernel de 1000 Hz, esse valor pode resultar em cerca de 49.7 dias em vez de 136 anos.
Compromisso ou modo de falha
Um tempo limite muito grande ou que sofreu estouro pode deixar a E/S bloqueada por um período inesperado e atrasar a redefinição, a comutação por falha ou a recuperação da aplicação. Considere o valor observado em /sys/block/<device>/queue/io_timeout como o comportamento efetivo garantido.
nvme_core.max_retriesNúmero máximo de novas tentativas de comandos NVMeAbrir
Finalidade
Define o número máximo de novas tentativas para comandos NVMe elegíveis. O código upstream atual o armazena como um byte sem sinal e usa 5 como padrão.
Valores e variantes
0Não tentar novamente os comandos elegíveis.
1–255Número máximo de novas tentativas; 10 duplica o padrão upstream atual.
omittedUsar o padrão do kernel.
Compromisso ou modo de falha
Mais tentativas podem prolongar a tail latency e atrasar a comutação por falha. Menos tentativas podem expor erros transitórios de mídia ou transporte mais cedo.
Cinco camadas por trás de um perfil exato de inicialização para produção
Um perfil fácil de manter separa as escolhas invariáveis da plataforma das listas de CPU específicas da topologia e das substituições de segurança de alto risco. O HFTKernel avalia essas camadas em conjunto e entrega uma configuração revisável, testável e reversível.
Dispositivo raiz, modo de montagem inicial, console serial e reserva de kdump testada.
02
Determinismo da plataforma
Driver de ociosidade, política de frequência, PCIe ASPM, clocksource, NUMA e política IOMMU.
03
Topologia
CPUs de manutenção, CPUs full-dynticks, transferência de RCU, máscara de IRQ padrão, afinidade de filas e cpusets de aplicações.
04
Aplicação de políticas em tempo de execução
Máscaras de filas de trabalho, afinidade de threads do kernel, política EPB/governor, filas de NIC, vinculação de memória e CPU affinity de serviços.
05
Controles de risco
Mitigações de segurança, LSM, auditoria, ASLR, watchdog e política de verificação de máquina revisados de forma independente.
Verificação após a inicialização
Confirme o estado efetivo antes de medir a latency
A linha de comando é apenas uma entrada. Esta lista de verificação confirma o kernel em execução, a topologia de CPU, o conjunto full-dynticks, o posicionamento de IRQ, o clocksource, a política de energia, IOMMU, o estado de segurança e a política de recuperação do NVMe.
Verifique sempre a documentação e o código-fonte da versão exata do kernel, dos patches da distribuição, do carregador de inicialização, do firmware e da pilha do espaço de usuário implantados no host de destino.