Riferimento pubblico alla riga di comando del kernel
Comprendi ogni controllo. Richiedi il profilo di produzione preciso.
Questo riferimento pubblico spiega finalità, valori accettati, implicazioni sulla latency, modalità di guasto e verifica dopo l'avvio. Non pubblica volutamente una riga di comando HFTKernel universale: i valori precisi dipendono da topologia CPU, collocazione NUMA, code NIC, gestione del tempo, storage, politica di sicurezza e carico di lavoro.
Non esiste una riga di comando universale per una bassa latency.
Un profilo di produzione deve mappare CPU di housekeeping, CPU di trading, thread fratelli SMT, nodi NUMA, code NIC e storage, thread RCU, workqueues, fonti temporali e affinità applicativa come un unico sistema.
Separa i controlli delle prestazioni dalla politica di rischio
Isolamento CPU, collocazione IRQ e comportamento NUMA sono controlli delle prestazioni. Mitigations, LSM, audit, ASLR, watchdog e impostazioni machine-check richiedono una decisione separata di sicurezza e operatività.
Verifica l'effetto, non la sintassi
Un parametro può non essere supportato, essere ridondante, venire sovrascritto dal firmware o modificato in seguito dallo userspace. Fa fede lo stato effettivo in sysfs, procfs, dmesg, affinità IRQ e latency misurata.
Profilo di produzione su richiesta
I valori precisi vengono generati per il tuo host e il tuo carico di lavoro.
Il team tecnico HFTKernel mappa CPU di trading e housekeeping, thread fratelli SMT, nodi NUMA, code NIC e storage, accesso di gestione, ripristino, gestione del tempo e sicurezza come un unico sistema prima di scegliere i parametri di avvio.
Ogni controllo, le sue varianti e il suo effetto operativo
Cerca per parametro, sottosistema, valore, rischio o comando di verifica. Il riferimento pubblico spiega il controllo senza selezionare un valore di produzione.
⌕/
Visualizzati 35 parametri su 35
Ti servono i valori selezionati, le maschere CPU e la riga di comando finale?Vengono generati dopo una revisione della topologia e non sono pubblicati come preimpostazione generica.
Nessun parametro corrisponde alla ricerca. Cancella la query o cerca un sottosistema come CPU, IRQ, IOMMU, sicurezza o NVMe.
Parametri: 5
Avvio, filesystem root, console e acquisizione dei crash
Parametri che selezionano kernel e filesystem root, definiscono il comportamento di montaggio iniziale, espongono la console seriale e riservano memoria per kdump.
BOOT_IMAGEMetadati del boot loader; non è un controllo della latencyApri
Finalità
GRUB aggiunge comunemente questo token per registrare l'immagine del kernel selezionata. Il kernel upstream non lo usa come politica di regolazione; è utile soprattutto per la diagnostica e per correlare un avvio a un'immagine specifica.
Valori e varianti
BOOT_IMAGE=/boot/vmlinuz-<version>Percorso in stile filesystem usato da molte configurazioni GRUB.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version>Notazione dei dispositivi GRUB.
omittedValido; l'immagine selezionata rimane determinata dal boot loader.
Compromesso o modalità di guasto
Una stringa BOOT_IMAGE copiata può essere obsoleta o puramente descrittiva. Fa fede l'identità del kernel in esecuzione.
rootSelezione del dispositivo root da parte di kernel/initramfsApri
Finalità
Seleziona il dispositivo a blocchi o l'identità logica che diventerà il filesystem root. Una initramfs può risolvere il valore prima che venga montato il root effettivo.
Valori e varianti
root=UUID=<filesystem-uuid>Identificatore stabile del filesystem; generalmente preferibile a un nome di dispositivo variabile.
root=PARTUUID=<partition-uuid>Identificatore stabile della tabella delle partizioni.
root=LABEL=<label> or root=PARTLABEL=<label>Etichetta leggibile del filesystem o della partizione.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name>Percorso diretto del dispositivo; semplice, ma la denominazione può variare con l'ordine di rilevamento.
Compromesso o modalità di guasto
Un valore errato impedisce l'avvio. Prima della distribuzione verifica che la initramfs contenga i driver necessari per storage, LVM, RAID o crittografia.
roModalità di montaggio iniziale del filesystem rootApri
Finalità
Richiede al kernel di montare inizialmente il filesystem root in sola lettura. Il sistema init normalmente esegue i controlli e in seguito lo rimonta in lettura e scrittura.
Valori e varianti
roMontaggio iniziale in sola lettura.
rwMontaggio iniziale in lettura e scrittura.
Compromesso o modalità di guasto
La modifica può alterare il ripristino nelle prime fasi di avvio e il comportamento della initramfs; verifica i percorsi di recupero.
Controlla dove vengono inviati i messaggi della console del kernel. I valori della console seriale definiscono dispositivo, baud rate, parità e bit di dati; sulle piattaforme supportate sono disponibili anche console virtuali e locali.
Valori e varianti
console=tty0Terminale virtuale locale.
console=ttyS<N>,<baud><parity><bits>Console seriale compatibile con 8250; esempi includono 115200n8 e 9600n8.
console=hvc0Console virtuale dell'hypervisor sui guest supportati.
console=nullScarta l'output della console.
multiple console= tokensReplica l'output del kernel su più console idonee; verifica quale dispositivo diventa /dev/console.
Compromesso o modalità di guasto
Un output abbondante della console può essere costoso, soprattutto su un dispositivo seriale lento. Controlla livello e frequenza dei log invece di disabilitare indiscriminatamente l'accesso di ripristino.
Riserva memoria per un kernel di acquisizione che può scrivere un vmcore dopo un panic. Il valore auto è implementato da alcune distribuzioni, ma non è una politica upstream di dimensionamento universalmente portabile.
Valori e varianti
crashkernel=<size>Riserva una quantità fissa, per esempio 512M.
crashkernel=<range>:<size>[,<range>:<size>…]Seleziona la dimensione della riserva in base alla RAM installata.
crashkernel=<size>,high plus crashkernel=<size>,lowSepara le riserve alte e basse sulle architetture supportate.
crashkernel=<size>,cmaUsa una riserva basata su CMA ove supportata.
crashkernel=autoDimensionamento automatico specifico per la distribuzione; conferma il supporto nel kernel di destinazione e negli strumenti di avvio.
omittedNessuna riserva per il kernel di acquisizione; kdump non può acquisire un vmcore.
Compromesso o modalità di guasto
La RAM riservata non è disponibile al kernel primario. Un kernel di acquisizione sottodimensionato fallisce proprio quando serve di più.
Controlli per C-states, P-states, energy-performance bias e simultaneous multithreading.
intel_idle.max_cstateSelezione e profondità del driver Intel cpuidleApri
Finalità
Controlla lo stato di inattività più profondo esposto da intel_idle. Il valore 0 disabilita intel_idle e ripiega su un altro driver idle, solitamente acpi_idle; da solo non garantisce che la CPU rimanga in C0.
Valori e varianti
0Disabilita intel_idle e ripiega sull'alternativa della piattaforma.
1Espone solo lo stato intel_idle meno profondo.
2–9Consente stati progressivamente più profondi fino all'indice del driver selezionato, secondo il supporto della CPU.
omittedUsa l'impostazione predefinita del driver e la tabella degli stati della piattaforma.
Compromesso o modalità di guasto
Un'inattività poco profonda migliora la regolarità del risveglio, ma aumenta consumo, calore, richiesta di ventilazione e potenzialmente la pressione sulla frequenza sostenibile.
processor.max_cstateLimite degli stati di inattività ACPI del processoreApri
Finalità
Limita lo stato di inattività ACPI più profondo registrato dal driver idle del processore. È rilevante soprattutto quando acpi_idle è attivo, anche se un altro driver idle è stato disabilitato o non è disponibile.
Valori e varianti
0Nel codice upstream attuale, nessun C-state ACPI supera il ciclo di registrazione; il conseguente comportamento di ripiego deve essere verificato sulla piattaforma di destinazione.
1Limita a C1.
2–8Consente stati ACPI fino alla profondità selezionata, se esposti dal firmware.
9 or another value above the normal limitPuò ignorare alcuni limiti della blacklist DMI; non è una raccomandazione per la latency.
omittedUsa le impostazioni predefinite di firmware e driver.
Compromesso o modalità di guasto
L'uso di 0 può produrre comportamenti di ripiego specifici della piattaforma. Non considerarlo un sinonimo portabile di «solo C0».
intel_pstateModalità del driver Intel per la variazione di frequenza della CPUApri
Finalità
Seleziona la modalità operativa del driver di variazione della frequenza intel_pstate o ne impedisce il caricamento. La modalità scelta modifica la semantica dei controlli, il comportamento HWP e i governor disponibili.
Valori e varianti
disableNon abilitare intel_pstate.
activeUsa la modalità attiva di intel_pstate e i suoi algoritmi interni performance/powersave.
passiveUsa intel_pstate come driver di scaling con governor cpufreq generici.
forceForza intel_pstate su sistemi altrimenti esclusi; i controlli termici ed energetici della piattaforma possono risentirne.
no_hwpNon abilitare Hardware P-states.
hwp_onlyCarica solo dove HWP è disponibile.
support_acpi_ppcRispetta i limiti ACPI _PPC.
per_cpu_perf_limitsEspone i limiti di prestazioni per ogni CPU logica.
no_casDisabilita il supporto allo scheduling basato sulla capacità nei sistemi ibridi.
Compromesso o modalità di guasto
Una politica di frequenza massima fissa può aumentare il throttling termico e ridurre la sostenibilità su tutti i core. Misura insieme la permanenza alle frequenze e la tail latency.
epbToken di avvio non standard; Intel Energy Performance Bias viene normalmente configurato tramite sysfs o x86_energy_perf_policyApri
Finalità
Rappresenta una politica Energy Performance Bias negli alberi del kernel o negli strumenti di avvio che interpretano esplicitamente il token. Linux upstream normalmente espone Intel EPB per CPU tramite energy_perf_bias e non definisce epb= come parametro generico della riga di comando del kernel.
Valori e varianti
0Preferenza massima per le prestazioni nell'interfaccia EPB.
1–14Compromesso intermedio tra prestazioni ed energia.
15Preferenza massima per il risparmio energetico.
performance, balance-performance, normal, balance-power, powerValori nominali accettati dall'interfaccia sysfs per CPU sui kernel supportati.
Compromesso o modalità di guasto
Firmware, sospensione/ripresa, hotplug CPU o un servizio di gestione energetica possono sovrascrivere EPB. Considera la politica selezionata come uno stato di esecuzione gestito e verificala continuamente.
Disabilita i thread SMT secondari affinché ogni core fisico esponga al massimo una CPU logica online. Può ridurre la contesa tra thread fratelli nelle unità di esecuzione, nelle cache e in alcuni percorsi degli interrupt.
Valori e varianti
nosmtDisabilita SMT all'avvio; la riattivazione durante l'esecuzione può rimanere possibile se piattaforma e kernel la consentono.
nosmt=forceForza la disattivazione di SMT e impedisce la riattivazione durante l'esecuzione.
omittedUsa le impostazioni predefinite di firmware e kernel.
Compromesso o modalità di guasto
Disabilitare SMT riduce la capacità delle CPU logiche e può spostare più attività in background su un numero minore di CPU di housekeeping.
Comportamento dei tick, isolamento CPU, collocazione IRQ e RCU
Il gruppo centrale di controllo della latency: CPU full-dynticks, isolamento dei domini dello scheduler, affinità di housekeeping, sfalsamento dei timer e RCU callback offload.
nohzSoppressione dei tick in inattivitàApri
Finalità
Controlla il comportamento tickless-idle del kernel quando è stato compilato con il supporto NO_HZ richiesto. La modalità abilitata consente alle CPU inattive di interrompere il tick periodico dello scheduler.
Valori e varianti
onAbilita tickless idle ove supportato.
offDisabilita tickless idle e mantiene i tick periodici.
omittedUsa l'impostazione predefinita della configurazione del kernel.
Compromesso o modalità di guasto
Il parametro non ha effetto se il kernel in esecuzione non dispone del supporto corrispondente in fase di compilazione.
skew_tickDistribuzione delle fasi dei tick periodici per CPUApri
Finalità
Controlla se l'attività dei tick periodici viene sfalsata tra le CPU invece di attivare tutti i tick nello stesso istante. La funzione può ridurre la contesa sui lock e le interferenze sincronizzate sui sistemi di grandi dimensioni.
Valori e varianti
0Non sfalsare intenzionalmente i tick periodici.
1Distribuisce le fasi dei tick tra le CPU.
Compromesso o modalità di guasto
Il compromesso è un consumo maggiore, perché possono ridursi le opportunità di inattività dell'intero package.
irqaffinityMaschera predefinita di affinità IRQApri
Finalità
Imposta l'elenco CPU predefinito per gli IRQ che non ricevono una politica di affinità più specifica. La maschera CPU selezionata determina dove inizia la gestione degli interrupt altrimenti non assegnati.
Valori e varianti
irqaffinity=<cpu-list>CPU e intervalli separati da virgole, per esempio 0,4-7.
omittedUsa la maschera di affinità predefinita dell'architettura/del kernel.
Compromesso o modalità di guasto
La CPU 0 può diventare un collo di bottiglia. Gli interrupt MSI-X gestiti possono non rispettare la maschera predefinita nello stesso modo degli IRQ ordinari.
isolcpusIsolamento dei domini dello scheduler e degli IRQ gestitiApri
Finalità
Seleziona CPU e flag di isolamento per la rimozione dai domini dello scheduler, il comportamento full-dynticks e l'esclusione dagli IRQ gestiti. L'isolamento dei domini è una decisione all'avvio irreversibile fino al riavvio successivo.
Valori e varianti
isolcpus=<cpu-list>Forma legacy; l'isolamento dei domini è implicito.
isolcpus=domain,<cpu-list>Rimuove le CPU dai domini di bilanciamento del carico dello scheduler.
isolcpus=nohz,<cpu-list>Abilita il comportamento di isolamento full-dynticks per le CPU.
isolcpus=managed_irq,<cpu-list>Esclusione dalle maschere degli IRQ gestiti ove possibile, quando sono disponibili CPU di housekeeping.
L'isolamento non sposta automaticamente thread del kernel, workqueues, code dei dispositivi, timer o thread applicativi. È una componente di un progetto completo di housekeeping.
Interrompe il tick periodico dello scheduler sulle CPU elencate mentre eseguono un carico di lavoro adatto, riducendo le interruzioni ricorrenti del kernel. Almeno una CPU di housekeeping rimane fuori dall'insieme; la CPU di avvio viene esclusa automaticamente.
Valori e varianti
nohz_full=<cpu-list>Seleziona le CPU full-dynticks, per esempio 2-15,18-31.
nohz_full=allRichiede tutte le CPU possibili; il kernel mantiene comunque le CPU di housekeeping necessarie.
omittedNessuna CPU full-dynticks selezionata all'avvio.
Compromesso o modalità di guasto
Una CPU elencata può comunque ricevere interrupt, attività dei thread del kernel, page fault, TLB shootdowns e chiamate tra CPU se questi percorsi non vengono controllati separatamente.
Sposta l'invocazione dei callback RCU dalle CPU selezionate a kthread dedicati. Un token senza valore non seleziona CPU all'avvio; è richiesto un elenco CPU esplicito o un meccanismo di esecuzione compatibile.
Valori e varianti
rcu_nocbs=<cpu-list>Scarica i callback per le CPU elencate, per esempio rcu_nocbs=1-3.
rcu_nocbs with no argumentNessuna CPU selezionata all'avvio; le CPU idonee possono essere attivate o disattivate successivamente tramite cpusets/interfacce di esecuzione.
rcu_nocb_pollImposta i kthread nocb in polling invece di dipendere dai risvegli; può ridurre la latency di risveglio con un costo energetico elevato.
omittedUsa la collocazione normale dei callback, salvo che per le CPU nohz_full, i cui callback vengono scaricati automaticamente dai kernel attuali.
Compromesso o modalità di guasto
Lo scaricamento sposta il lavoro, non lo elimina. CPU di housekeeping sottodimensionate possono accumulare callback arretrati e causare blocchi dell'intero sistema.
Clocksource, politica energetica PCIe e soluzioni alternative per la piattaforma
Controlli di gestione del tempo e di piattaforma che possono influire su latency di risveglio, attività periodiche e prevedibilità dei percorsi dei dispositivi.
pcie_aspm.policyPolitica PCI Express Active State Power ManagementApri
Finalità
Seleziona la politica PCIe Active State Power Management. Le politiche disponibili bilanciano latency di risveglio del collegamento e consumo energetico della piattaforma, secondo il controllo di firmware e kernel su ogni collegamento.
Valori e varianti
defaultUsa la politica del firmware/predefinita.
performanceDà priorità alle prestazioni e disabilita ASPM/Clock PM secondo la politica del kernel.
powersaveAbilita stati di risparmio energetico dei collegamenti con una politica bilanciata.
powersupersaveUsa la politica di risparmio energetico più aggressiva disponibile.
Compromesso o modalità di guasto
Il consumo energetico aumenta e alcuni collegamenti controllati dal firmware potrebbero non seguire la politica richiesta.
acpi_pad.disableControllo di ACPI Processor Aggregator specifico per versione/fornitoreApri
Finalità
Controlla un interruttore ACPI Processor Aggregator specifico dell'albero del kernel, destinato a impedire le attività di idle injection. Il codice upstream attuale di acpi_pad potrebbe non esporre questo parametro del modulo; il supporto va quindi verificato nel kernel e nella distribuzione precisi.
Valori e varianti
acpi_pad.disable=1Supportato solo dagli alberi del kernel che espongono questo parametro del modulo.
acpi_pad.disable=0Comportamento abilitato/predefinito negli alberi che implementano il parametro.
driver/module blacklist policyAlternativa operativa portabile quando il driver è modulare ed è stato verificato come non necessario.
Compromesso o modalità di guasto
La rimozione del comportamento di gestione energetica della piattaforma può influire sulle aspettative del firmware. Valida sul modello preciso del server e sulla revisione BIOS.
clocksourceSelezione della fonte temporale del kernelApri
Finalità
Seleziona una clocksource del kernel per nome. Sui sistemi moderni invarianti e sincronizzati, TSC può offrire basso overhead di lettura e alta risoluzione, mentre altre piattaforme possono richiedere una fonte diversa validata.
Valori e varianti
clocksource=tscForza TSC quando il kernel lo considera disponibile.
clocksource=hpetUsa HPET ove disponibile; spesso comporta un overhead di lettura maggiore.
clocksource=acpi_pmUsa il timer ACPI PM ove disponibile.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed sourceOpzioni specifiche per hypervisor/piattaforma.
omittedLascia che il kernel selezioni la fonte stabile con la valutazione migliore.
Compromesso o modalità di guasto
Non aggiungere tsc=reliable solo per sopprimere gli avvisi. Questa forzatura separata disabilita i controlli di stabilità ed è appropriata solo con garanzie di piattaforma validate.
no_timer_checkSoluzione alternativa per il controllo della sorgente IRQ del timer x86Apri
Finalità
Disabilita un controllo all'avvio destinato a rilevare un instradamento errato degli interrupt del timer. È una soluzione di compatibilità per specifici ambienti hardware o virtuali, non un'ottimizzazione generica della latency.
Valori e varianti
no_timer_checkSalta il controllo dell'instradamento del timer.
omittedEsegue i controlli normali dei timer del kernel.
Compromesso o modalità di guasto
Sopprimere una diagnostica può nascondere un problema di instradamento dei timer della piattaforma che emerge in seguito come tick persi o instabilità della gestione del tempo.
Interruttori ad alto impatto che scambiano sicurezza o diagnostica dei guasti con un minore overhead. Richiedono una decisione esplicita sui rischi di produzione.
selinuxInizializzazione di SELinuxApri
Finalità
Controlla se SELinux viene inizializzato e quale modalità di politica viene usata all'avvio. Disabilitare l'inizializzazione rimuove l'applicazione delle politiche e gli hook di audit SELinux dal sistema attivo.
Valori e varianti
selinux=0Disabilita SELinux all'avvio.
selinux=1 or omittedConsente l'inizializzazione di SELinux se compilato e configurato.
enforcing=0Alternativa correlata: inizializza SELinux in modalità permissive, così che i divieti vengano registrati ma non applicati.
enforcing=1Avvia in modalità enforcing quando la politica lo supporta.
Compromesso o modalità di guasto
selinux=0 è una decisione di sicurezza, non un requisito HFT generico. La riattivazione richiede normalmente un riavvio e può richiedere la rietichettatura del filesystem.
mitigationsPolitica di mitigazione delle vulnerabilità della CPUApri
Finalità
Seleziona una politica di mitigazione delle vulnerabilità della CPU. Le modalità disponibili bilanciano l'overhead dei cambi di contesto e del controllo della speculazione con la protezione dalle vulnerabilità hardware applicabili.
Valori e varianti
offDisabilita tutte le mitigations facoltative.
autoAbilita le mitigations secondo lo stato di vulnerabilità della CPU e le impostazioni predefinite del kernel.
auto,nosmtMitigations automatiche più disabilitazione di SMT ove necessario.
omittedUsa la politica compilata/predefinita.
Compromesso o modalità di guasto
A seconda della CPU, ciò può esporre dati di kernel, processi, VM e altri thread. Il guadagno di latency dipende da hardware e carico di lavoro.
auditStato iniziale del sottosistema audit di LinuxApri
Finalità
Controlla se il sottosistema audit del kernel è abilitato all'avvio. Lo stato selezionato influisce sull'overhead di generazione degli eventi e sulle evidenze disponibili per sicurezza, conformità e risposta agli incidenti.
Valori e varianti
audit=0 or audit=offDisabilita audit per questo avvio; non può essere abilitato completamente in seguito senza riavviare.
audit=1 or audit=onAbilita audit all'avvio.
omittedUsa l'impostazione predefinita configurata del kernel/della distribuzione.
Compromesso o modalità di guasto
Disabilitare audit può violare i requisiti di conformità, risposta agli incidenti e analisi forense.
Controlla la gestione di x86 Machine Check Exception e il relativo comportamento di ripristino. La disabilitazione rimuove la segnalazione asincrona degli errori hardware e la telemetria critica per guasti di CPU, memoria e interconnessioni.
Valori e varianti
offDisabilita la gestione machine-check.
no_cmciDisabilita la gestione degli interrupt per errori corretti e usa il polling ove supportato.
dont_log_ceNon registra gli errori corretti.
ignore_ceIgnora gli errori corretti.
no_lmceDisabilita il supporto Local Machine Check Exception.
bootlog or nobootlogControlla la registrazione dei machine checks rilevati durante l'avvio sui kernel che lo supportano.
omittedUsa la gestione normale machine-check.
Compromesso o modalità di guasto
Disabilitare MCE può trasformare un componente in degrado diagnosticabile in corruzione silenziosa dei dati, riavvii inspiegati o picchi di latency non tracciabili.
Verifica dopo l'avvio
dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
Disabilita il supporto Machine Check Exception sui kernel x86 a 32 bit. Non è il controllo normale per x86-64 e può essere ridondante quando è già selezionata un'altra politica machine-check.
Valori e varianti
nomceDisabilita MCE sulle build x86 a 32 bit supportate.
omittedUsa la politica normale dell'architettura.
Compromesso o modalità di guasto
Mantenere token ridondanti o non applicabili all'architettura rende più difficile verificare una configurazione di avvio e può nascondere presupposti errati.
norandmapsRandomizzazione dello spazio degli indirizzi userspaceApri
Finalità
Disabilita ASLR nello userspace, equivalente a impostare kernel.randomize_va_space=0. Gli indirizzi virtuali diventano più ripetibili, ma la resistenza agli exploit viene ridotta in modo significativo.
Valori e varianti
norandmapsDisabilita la randomizzazione dello spazio degli indirizzi userspace.
omittedUsa la politica ASLR sysctl/predefinita.
kernel.randomize_va_space=0, 1, or 2Politica di esecuzione/sysctl: disabilitata, randomizzazione conservativa o randomizzazione completa.
Compromesso o modalità di guasto
Indebolisce la difesa contro gli exploit di corruzione della memoria sull'intero host.
nowatchdogInterruttore principale dei watchdog di lockup del kernelApri
Finalità
Disabilita sia i watchdog hard-lockup sia quelli soft-lockup. Interruttori separati e più specifici di disabilitazione dei watchdog possono quindi diventare ridondanti in presenza di questo flag.
Valori e varianti
nowatchdogDisabilita i watchdog di lockup del kernel.
omittedUsa la politica del watchdog configurata.
watchdog_thresh=<seconds>Alternativa correlata: mantiene il rilevamento ma aumenta la soglia.
Compromesso o modalità di guasto
Un hard-lockup o soft-lockup può persistere senza una segnalazione del kernel. Assicurati che rimanga un altro meccanismo indipendente di verifica della vitalità.
Controlla la migrazione automatica delle pagine e la politica di traduzione DMA per una località stabile e percorsi dei dispositivi prevedibili.
numa_balancingMigrazione automatica delle pagine NUMAApri
Finalità
Controlla il NUMA balancing automatico, che campiona gli accessi alla memoria proteggendo periodicamente le pagine e può migrare attività o pagine. Lo stato scelto bilancia la correzione automatica della località con le interferenze di page fault e migrazioni.
Valori e varianti
disableDisabilita NUMA balancing automatico.
enableAbilita NUMA balancing automatico.
omittedUsa l'impostazione predefinita del kernel/della distribuzione.
Compromesso o modalità di guasto
Con il bilanciamento automatico disattivato, una cattiva collocazione applicativa rimane tale. Esegui il binding esplicito della memoria e verifica i contatori degli accessi remoti.
Controlla l'inizializzazione Intel IOMMU e le relative funzionalità di remapping DMA o degli interrupt, secondo il supporto di hardware e firmware.
Valori e varianti
onAbilita il driver Intel IOMMU.
offDisabilitalo.
igfx_offEsclude l'unità DMAR della grafica integrata.
sp_offDisabilita il supporto IOMMU superpage.
sm_on or sm_offConsente o vieta Intel scalable mode.
strictRichiesta deprecata specifica del driver, equivalente a iommu.strict=1.
tboot_noforceImpedisce a tboot di forzare l'attivazione della IOMMU; riduce la protezione dagli attacchi DMA.
Compromesso o modalità di guasto
Difetti del firmware e politica di traduzione possono influire sulla latency o sulla stabilità dei dispositivi. Valida ogni generazione di server/BIOS.
Verifica dopo l'avvio
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
Seleziona la politica predefinita dei domini IOMMU per i dispositivi ordinari. Passthrough o mappatura identitaria possono ridurre l'overhead di traduzione DMA per i dispositivi affidabili, mentre i domini tradotti offrono un isolamento più forte.
Valori e varianti
iommu=ptUsa la modalità passthrough come predefinita.
iommu=noptUsa la modalità DMA tradotta come predefinita.
Denominazione di rete e politica di ripristino NVMe
Comportamento userspace per la denominazione delle NIC e impostazioni di timeout e tentativi dello storage che determinano quanto rapidamente i guasti diventano visibili.
net.ifnamesPolitica di denominazione prevedibile delle interfacce in systemd/udevApri
Finalità
Controlla la denominazione prevedibile delle interfacce in systemd/udev. La disabilitazione può ripristinare nomi legacy come eth0 quando la distribuzione lo consente; è una convenzione userspace passata sulla riga di comando del kernel, non un interruttore per la latency di rete.
Valori e varianti
0Disabilita la NamePolicy prevedibile.
1 or omittedConsente la denominazione prevedibile secondo lo schema di denominazione systemd attivo e la politica .link.
Compromesso o modalità di guasto
L'ordinamento legacy ethX può cambiare quando cambiano hardware, firmware o ordine di rilevamento. Un'identità errata dell'interfaccia è più pericolosa di qualsiasi preferenza di denominazione.
Verifica dopo l'avvio
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_timeoutTimeout dei comandi I/O NVMe in secondiApri
Finalità
Imposta l'input del timeout I/O NVMe in secondi. L'upstream attuale memorizza il parametro del modulo come intero senza segno con valore predefinito 30, quindi lo converte nel timeout del livello a blocchi in jiffies; il timeout effettivo della coda deve quindi essere verificato dopo l'avvio.
Valori e varianti
30Valore predefinito upstream attuale in secondi; verifica il kernel di destinazione.
a finite positive integerTimeout esplicito in secondi.
4294967295Input massimo senza segno a 32 bit, non un token di infinito. L'espressione del driver nvme_io_timeout * HZ può andare in overflow prima di diventare il timeout effettivo della richiesta; su un kernel a 1000 Hz questo valore può corrispondere a circa 49.7 giorni anziché 136 anni.
Compromesso o modalità di guasto
Un timeout molto grande o in overflow può lasciare l'I/O bloccato per un periodo inatteso e ritardare reset, failover o ripristino dell'applicazione. Considera il valore osservato in /sys/block/<device>/queue/io_timeout come riferimento effettivo.
nvme_core.max_retriesNumero massimo di tentativi dei comandi NVMeApri
Finalità
Imposta il numero massimo di tentativi per i comandi NVMe idonei. L'upstream attuale lo memorizza come byte senza segno con valore predefinito 5.
Valori e varianti
0Non riprova i comandi idonei.
1–255Numero massimo di tentativi; 10 raddoppia il valore predefinito upstream attuale.
omittedUsa l'impostazione predefinita del kernel.
Compromesso o modalità di guasto
Più tentativi possono aumentare la tail latency e ritardare il failover. Meno tentativi possono rendere visibili prima gli errori transitori del supporto o del trasporto.
Cinque livelli alla base di un profilo di avvio di produzione preciso
Un profilo manutenibile separa le scelte invarianti della piattaforma dagli elenchi CPU specifici per la topologia e dalle forzature di sicurezza ad alto rischio. HFTKernel valuta questi livelli insieme, quindi consegna una configurazione verificabile, testabile e reversibile.
Dispositivo root, modalità di montaggio iniziale, console seriale e riserva kdump verificata.
02
Determinismo della piattaforma
Driver idle, politica di frequenza, PCIe ASPM, clocksource, politica NUMA e IOMMU.
03
Topologia
CPU di housekeeping, CPU full-dynticks, RCU offload, maschera IRQ predefinita, affinità delle code e cpusets delle applicazioni.
04
Applicazione durante l'esecuzione
Maschere workqueue, affinità dei thread del kernel, politica EPB/governor, code NIC, binding della memoria e CPU affinity dei servizi.
05
Controlli del rischio
Mitigations di sicurezza, LSM, audit, ASLR, watchdog e politica machine-check esaminati separatamente.
Verifica dopo l'avvio
Conferma lo stato effettivo prima di misurare la latency
La riga di comando è solo un input. Questa lista di controllo conferma kernel in esecuzione, topologia CPU, insieme full-dynticks, collocazione IRQ, clocksource, politica energetica, IOMMU, stato di sicurezza e politica di ripristino NVMe.
Documentazione upstream utilizzata per questo riferimento
Controlla sempre documentazione e sorgenti per la versione precisa del kernel, le patch della distribuzione, il boot loader, il firmware e lo stack userspace distribuiti sull'host di destinazione.