Référence publique de la ligne de commande du noyau
Comprenez chaque paramètre. Demandez le profil de production précis.
Cette référence publique explique le rôle, les valeurs acceptées, les effets sur la latency, les modes de défaillance et la vérification après démarrage. Elle ne publie volontairement aucune ligne de commande HFTKernel universelle : les valeurs exactes dépendent de la topologie CPU, du placement NUMA, des files NIC, de la gestion du temps, du stockage, de la politique de sécurité et de la charge.
Il n'existe aucune ligne de commande universelle pour une faible latency.
Un profil de production doit organiser les CPU de service, les CPU de trading, les threads SMT voisins, les nœuds NUMA, les files NIC et de stockage, les threads RCU, les files de travail, les sources de temps et l'affinité des applications comme un seul système.
Séparez les réglages de performance de la politique de risque
L'isolation CPU, le placement IRQ et le comportement NUMA sont des réglages de performance. Les mesures de protection, LSM, l'audit, ASLR, les watchdogs et les réglages machine-check nécessitent une décision distincte de sécurité et d'exploitation.
Vérifiez l'effet, pas seulement la syntaxe
Un paramètre peut être non pris en charge, redondant, remplacé par le micrologiciel ou modifié ultérieurement par l'espace utilisateur. L'état effectif dans sysfs, procfs, dmesg, l'affinité IRQ et la latency mesurée font référence.
Profil de production sur demande
Les valeurs exactes sont générées pour votre hôte et votre charge.
Avant de choisir les paramètres de démarrage, l'équipe HFTKernel organise les CPU de trading et de service, les threads SMT voisins, les nœuds NUMA, les files NIC et de stockage, l'accès de gestion, la récupération, la gestion du temps et la sécurité comme un seul système.
Chaque paramètre, ses variantes et son effet opérationnel
Recherchez par paramètre, sous-système, valeur, risque ou commande de vérification. La référence publique explique le paramètre sans choisir sa valeur de production.
⌕/
Affichage de 35 paramètres sur 35
Besoin des valeurs choisies, des masques CPU et de la ligne de commande finale ?Ils sont générés après une analyse de la topologie et ne sont pas publiés comme préréglage générique.
Aucun paramètre ne correspond à cette recherche. Effacez la requête ou recherchez un sous-système comme CPU, IRQ, IOMMU, sécurité ou NVMe.
Paramètres : 5
Démarrage, système de fichiers racine, console et capture après incident
Paramètres sélectionnant le noyau et le système de fichiers racine, définissant le montage initial, exposant la console série et réservant la mémoire pour kdump.
BOOT_IMAGEMétadonnée du chargeur de démarrage ; aucun réglage de latencyOuvrir
Rôle
GRUB ajoute généralement ce jeton pour consigner l'image du noyau sélectionnée. Le noyau amont ne l'utilise pas comme politique de réglage ; il sert surtout au diagnostic et à l'association d'un démarrage à une image précise.
Valeurs et variantes
BOOT_IMAGE=/boot/vmlinuz-<version>Chemin de type système de fichiers utilisé par de nombreuses configurations GRUB.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version>Notation de périphérique GRUB.
omittedValide ; l'image sélectionnée reste déterminée par le chargeur de démarrage.
Compromis ou mode de défaillance
Une chaîne BOOT_IMAGE copiée peut être obsolète ou purement indicative. L'identité du noyau en cours d'exécution fait référence.
rootSélection du périphérique racine par le noyau/initramfsOuvrir
Rôle
Sélectionne le périphérique bloc ou l'identité logique qui deviendra le système de fichiers racine. Un initramfs peut résoudre la valeur avant le montage de la véritable racine.
Valeurs et variantes
root=UUID=<filesystem-uuid>Identifiant stable du système de fichiers ; généralement préférable à un nom de périphérique variable.
root=PARTUUID=<partition-uuid>Identifiant stable de la table de partitions.
root=LABEL=<label> or root=PARTLABEL=<label>Étiquette du système de fichiers ou de la partition lisible par l'utilisateur.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name>Chemin direct du périphérique ; simple, mais le nom peut varier selon l'ordre de détection.
Compromis ou mode de défaillance
Une valeur incorrecte empêche le démarrage. Vérifiez avant le déploiement que l'initramfs contient les pilotes nécessaires au stockage, à LVM, à RAID ou au chiffrement.
roMode de montage initial du système de fichiers racineOuvrir
Rôle
Demande au noyau de monter initialement le système de fichiers racine en lecture seule. Le système d'initialisation effectue généralement des vérifications, puis le remonte en lecture-écriture.
Valeurs et variantes
roMontage initial en lecture seule.
rwMontage initial en lecture-écriture.
Compromis ou mode de défaillance
Une modification peut changer la réparation au début du démarrage et le comportement d'initramfs ; testez les procédures de récupération.
Détermine la destination des messages de la console du noyau. Les valeurs de console série définissent le périphérique, le débit en bauds, la parité et les bits de données ; des consoles virtuelles et locales sont également disponibles sur les plateformes prises en charge.
Valeurs et variantes
console=tty0Terminal virtuel local.
console=ttyS<N>,<baud><parity><bits>Console série compatible 8250 ; exemples : 115200n8 et 9600n8.
console=hvc0Console virtuelle de l'hyperviseur sur les invités pris en charge.
console=nullIgnorer la sortie de la console.
multiple console= tokensDupliquer la sortie du noyau sur plusieurs consoles admissibles ; vérifiez quel périphérique devient /dev/console.
Compromis ou mode de défaillance
Une sortie console abondante peut être coûteuse, surtout sur un périphérique série lent. Contrôlez le niveau et la fréquence des journaux au lieu de désactiver aveuglément l'accès de récupération.
Réserve de la mémoire pour un noyau de capture capable d'écrire un vmcore après un panic. La valeur auto est implémentée par certaines distributions, mais ne constitue pas une politique amont de dimensionnement universellement portable.
Valeurs et variantes
crashkernel=<size>Réserver une quantité fixe, par exemple 512M.
crashkernel=<range>:<size>[,<range>:<size>…]Choisir la taille de réservation selon la RAM installée.
crashkernel=<size>,high plus crashkernel=<size>,lowSéparer les réservations haute et basse sur les architectures compatibles.
crashkernel=<size>,cmaUtiliser une réservation reposant sur CMA lorsque cela est pris en charge.
crashkernel=autoDimensionnement automatique propre à la distribution ; confirmez la prise en charge par le noyau et les outils de démarrage cibles.
omittedAucune réservation pour le noyau de capture ; kdump ne peut pas capturer de vmcore.
Compromis ou mode de défaillance
La RAM réservée est indisponible pour le noyau principal. Un noyau de capture sous-dimensionné échoue au moment où il est le plus nécessaire.
Réglages des C-states, P-states, du compromis énergie-performance et du multithreading simultané.
intel_idle.max_cstateSélection et profondeur du pilote Intel cpuidleOuvrir
Rôle
Contrôle l'état de veille le plus profond exposé par intel_idle. Une valeur de 0 désactive intel_idle et utilise un autre pilote, généralement acpi_idle ; elle ne garantit pas à elle seule que le CPU reste en C0.
Valeurs et variantes
0Désactiver intel_idle et utiliser l'alternative de la plateforme.
1Exposer uniquement l'état intel_idle le moins profond.
2–9Autoriser des états progressivement plus profonds jusqu'à l'indice de pilote choisi, selon les capacités du CPU.
omittedUtiliser la valeur par défaut du pilote et la table d'états de la plateforme.
Compromis ou mode de défaillance
Une veille peu profonde améliore la régularité du réveil, mais augmente la consommation, la chaleur, la ventilation et peut compliquer le maintien de la fréquence.
processor.max_cstateLimite des états de veille du processeur ACPIOuvrir
Rôle
Limite l'état de veille ACPI le plus profond enregistré par le pilote de veille du processeur. S'applique principalement lorsque acpi_idle est actif, notamment si un autre pilote de veille a été désactivé ou est indisponible.
Valeurs et variantes
0Dans le code amont actuel, aucun C-state ACPI ne passe la boucle d'enregistrement ; le comportement de repli doit être vérifié sur la plateforme cible.
1Limiter à C1.
2–8Autoriser les états ACPI jusqu'à la profondeur choisie, lorsque le micrologiciel les expose.
9 or another value above the normal limitPeut remplacer certaines limites de liste noire DMI ; ce n'est pas une recommandation de latency.
omittedUtiliser les valeurs par défaut du micrologiciel et du pilote.
Compromis ou mode de défaillance
La valeur 0 peut produire un comportement de repli propre à la plateforme. Ne la considérez pas comme un synonyme portable de « C0 uniquement ».
intel_pstateMode du pilote de variation de fréquence Intel CPUOuvrir
Rôle
Sélectionne le mode de fonctionnement du pilote de fréquence intel_pstate ou empêche son chargement. Le mode choisi modifie la sémantique de contrôle, le comportement HWP et les governors disponibles.
Valeurs et variantes
disableNe pas activer intel_pstate.
activeUtiliser le mode actif d'intel_pstate et ses algorithmes internes performance/powersave.
passiveUtiliser intel_pstate comme pilote de fréquence sous les governors cpufreq génériques.
forceForcer intel_pstate sur les systèmes normalement exclus ; les contrôles thermiques et énergétiques de la plateforme peuvent être affectés.
no_hwpNe pas activer Hardware P-states.
hwp_onlyCharger uniquement lorsque HWP est disponible.
support_acpi_ppcRespecter les limites ACPI _PPC.
per_cpu_perf_limitsExposer des limites de performance par CPU logique.
no_casDésactiver la prise en charge de l'ordonnancement tenant compte de la capacité sur les systèmes hybrides.
Compromis ou mode de défaillance
Une politique de fréquence maximale fixe peut augmenter la limitation thermique et réduire la tenue de fréquence sur tous les cœurs. Mesurez conjointement le temps passé aux différentes fréquences et la tail latency.
epbJeton de démarrage non standard ; Intel Energy Performance Bias se configure normalement via sysfs ou x86_energy_perf_policyOuvrir
Rôle
Représente une politique Energy Performance Bias dans les arbres du noyau ou les outils de démarrage qui interprètent explicitement ce jeton. Linux amont expose normalement Intel EPB par CPU via energy_perf_bias et ne définit pas epb= comme paramètre générique de la ligne de commande du noyau.
Valeurs et variantes
0Priorité maximale à la performance dans l'interface EPB.
1–14Compromis intermédiaire entre performance et énergie.
15Priorité maximale à l'économie d'énergie.
performance, balance-performance, normal, balance-power, powerValeurs nommées acceptées par l'interface sysfs par CPU sur les noyaux compatibles.
Compromis ou mode de défaillance
Le micrologiciel, la suspension/reprise, le branchement à chaud des CPU ou un service de gestion d'énergie peuvent remplacer EPB. Traitez la politique choisie comme un état d'exécution géré et vérifiez-la en permanence.
Désactive les threads SMT secondaires pour que chaque cœur physique expose au plus un CPU logique actif. Peut réduire la concurrence entre threads voisins dans les unités d'exécution, les caches et certains chemins d'interruption.
Valeurs et variantes
nosmtDésactiver SMT au démarrage ; sa réactivation à l'exécution peut rester possible si la plateforme et le noyau l'autorisent.
nosmt=forceForcer la désactivation de SMT et empêcher sa réactivation à l'exécution.
omittedUtiliser les valeurs par défaut du micrologiciel et du noyau.
Compromis ou mode de défaillance
Désactiver SMT réduit la capacité en CPU logiques et peut concentrer davantage de tâches de fond sur moins de CPU de service.
Comportement des ticks, isolation CPU, placement IRQ et RCU
Le groupe central de réglage de la latency : CPU full-dynticks, isolation des domaines d'ordonnancement, affinité des tâches de service, décalage des temporisateurs et déport des rappels RCU.
nohzSuppression des ticks au reposOuvrir
Rôle
Contrôle le fonctionnement sans ticks au repos lorsque le noyau a été compilé avec la prise en charge NO_HZ requise. Le mode activé permet aux CPU au repos d'arrêter le tick périodique de l'ordonnanceur.
Valeurs et variantes
onActiver le repos sans ticks lorsque cela est pris en charge.
offDésactiver le repos sans ticks et conserver les ticks périodiques.
omittedUtiliser la valeur par défaut de la configuration du noyau.
Compromis ou mode de défaillance
Le paramètre est sans effet si le noyau exécuté ne dispose pas de la prise en charge correspondante à la compilation.
skew_tickRépartition des phases des ticks périodiques par CPUOuvrir
Rôle
Détermine si les ticks périodiques sont décalés entre les CPU au lieu de se déclencher simultanément. L'activation peut réduire la contention des verrous et le bruit synchronisé sur les grands systèmes.
Valeurs et variantes
0Ne pas décaler volontairement les ticks périodiques.
1Répartir les phases des ticks entre les CPU.
Compromis ou mode de défaillance
Le compromis est une consommation accrue, car les occasions de repos de l'ensemble du processeur peuvent diminuer.
Définit la liste CPU par défaut des IRQ qui ne reçoivent pas de politique d'affinité plus précise. Le masque choisi détermine où commence le traitement des interruptions autrement non assignées.
Valeurs et variantes
irqaffinity=<cpu-list>CPU et plages séparés par des virgules, par exemple 0,4-7.
omittedUtiliser le masque d'affinité par défaut de l'architecture/du noyau.
Compromis ou mode de défaillance
Le CPU 0 peut devenir un goulot d'étranglement. Les interruptions MSI-X gérées peuvent ne pas respecter le masque par défaut comme les IRQ ordinaires.
isolcpusIsolation des domaines d'ordonnancement et des IRQ géréesOuvrir
Rôle
Sélectionne les CPU et les indicateurs d'isolation pour le retrait des domaines d'ordonnancement, le fonctionnement full-dynticks et l'évitement des IRQ gérées. L'isolation des domaines est décidée au démarrage et reste irréversible jusqu'au redémarrage suivant.
Valeurs et variantes
isolcpus=<cpu-list>Forme historique ; l'isolation des domaines est implicite.
isolcpus=domain,<cpu-list>Retirer les CPU des domaines d'équilibrage de charge de l'ordonnanceur.
isolcpus=nohz,<cpu-list>Activer l'isolation full-dynticks pour les CPU.
isolcpus=managed_irq,<cpu-list>Exclusion au mieux des masques IRQ gérés lorsque des CPU de service sont disponibles.
L'isolation ne déplace pas automatiquement les threads du noyau, les files de travail, les files de périphériques, les temporisateurs ou les threads applicatifs. Elle est un élément d'une organisation complète des tâches de service.
Arrête le tick périodique de l'ordonnanceur sur les CPU indiqués lorsqu'ils exécutent une charge adaptée, réduisant les interruptions récurrentes du noyau. Au moins un CPU de service reste hors de l'ensemble ; le CPU de démarrage est exclu automatiquement.
Valeurs et variantes
nohz_full=<cpu-list>Choisir les CPU full-dynticks, par exemple 2-15,18-31.
nohz_full=allDemander tous les CPU possibles ; le noyau conserve néanmoins les CPU de service nécessaires.
omittedAucun CPU full-dynticks choisi au démarrage.
Compromis ou mode de défaillance
Un CPU indiqué peut encore recevoir des interruptions, des tâches de threads du noyau, des défauts de page, des invalidations TLB et des appels entre CPU si ces chemins ne sont pas contrôlés séparément.
Déplace l'exécution des rappels RCU des CPU choisis vers des kthreads dédiés. Un jeton seul ne sélectionne aucun CPU au démarrage ; une liste CPU explicite ou un mécanisme d'exécution compatible est nécessaire.
Valeurs et variantes
rcu_nocbs=<cpu-list>Déporter les rappels des CPU indiqués, par exemple rcu_nocbs=1-3.
rcu_nocbs with no argumentAucun CPU sélectionné au démarrage ; les CPU admissibles peuvent être activés ensuite via les cpusets/interfaces d'exécution.
rcu_nocb_pollFaire fonctionner les kthreads nocb par interrogation plutôt que par réveil ; peut réduire la latency de réveil au prix d'une consommation importante.
omittedUtiliser le placement normal des rappels, sauf pour les CPU nohz_full dont les noyaux actuels déportent automatiquement les rappels.
Compromis ou mode de défaillance
Le déport déplace le travail sans le supprimer. Des CPU de service sous-dimensionnés peuvent accumuler des rappels et provoquer des blocages de tout le système.
Clocksource, politique d'énergie PCIe et contournements propres à la plateforme
Réglages temporels et de plateforme pouvant affecter la latency de réveil, les tâches périodiques et la prévisibilité des chemins des périphériques.
pcie_aspm.policyPolitique PCI Express Active State Power ManagementOuvrir
Rôle
Sélectionne la politique PCIe Active State Power Management. Les politiques disponibles arbitrent entre la latency de réveil des liaisons et la consommation de la plateforme, selon le contrôle exercé par le micrologiciel et le noyau sur chaque liaison.
Valeurs et variantes
defaultUtiliser la politique du micrologiciel/par défaut.
performancePrivilégier la performance et désactiver ASPM/Clock PM selon la politique du noyau.
powersaveActiver les états d'économie d'énergie des liaisons avec une politique équilibrée.
powersupersaveUtiliser la politique d'économie d'énergie disponible la plus agressive.
Compromis ou mode de défaillance
La consommation augmente et certaines liaisons contrôlées par le micrologiciel peuvent ne pas appliquer la politique demandée.
acpi_pad.disableContrôle ACPI Processor Aggregator propre à la version/au fournisseurOuvrir
Rôle
Contrôle un commutateur ACPI Processor Aggregator propre à un arbre du noyau, destiné à empêcher l'injection de périodes de repos. Le code amont actuel d'acpi_pad peut ne pas exposer ce paramètre de module ; sa prise en charge doit donc être vérifiée dans le noyau et la distribution exacts.
Valeurs et variantes
acpi_pad.disable=1Pris en charge uniquement par les arbres du noyau exposant ce paramètre de module.
acpi_pad.disable=0Activation/comportement par défaut dans les arbres implémentant le paramètre.
driver/module blacklist policyAlternative opérationnelle portable lorsque le pilote est modulaire et a été validé comme inutile.
Compromis ou mode de défaillance
Supprimer un mécanisme de gestion d'énergie peut affecter les attentes du micrologiciel. Validez sur le modèle exact de serveur et la révision exacte du BIOS.
clocksourceChoix de la source temporelle du noyauOuvrir
Rôle
Sélectionne une clocksource nommée du noyau. Sur les systèmes modernes invariants et synchronisés, TSC peut offrir un faible coût de lecture et une haute résolution ; d'autres plateformes peuvent nécessiter une autre source validée.
Valeurs et variantes
clocksource=tscForcer TSC lorsque le noyau le considère disponible.
clocksource=hpetUtiliser HPET si disponible ; coût de lecture souvent plus élevé.
clocksource=acpi_pmUtiliser le temporisateur ACPI PM si disponible.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed sourceOptions propres à l'hyperviseur/à la plateforme.
omittedLaisser le noyau choisir la source stable la mieux classée.
Compromis ou mode de défaillance
N'ajoutez pas tsc=reliable simplement pour masquer les avertissements. Cette dérogation distincte désactive les contrôles de stabilité et ne convient qu'à une garantie de plateforme validée.
no_timer_checkContournement du contrôle de la source IRQ du temporisateur x86Ouvrir
Rôle
Désactive un contrôle au démarrage destiné à détecter un routage défectueux des interruptions du temporisateur. Il s'agit d'un contournement de compatibilité pour certains matériels ou environnements virtuels, et non d'une optimisation générale de latency.
Valeurs et variantes
no_timer_checkIgnorer le contrôle du routage du temporisateur.
omittedExécuter les contrôles normaux des temporisateurs du noyau.
Compromis ou mode de défaillance
Masquer un diagnostic peut dissimuler un problème de routage du temporisateur de la plateforme, qui se manifestera ensuite par des ticks perdus ou une instabilité temporelle.
Des commutateurs aux conséquences importantes, qui échangent la sécurité ou le diagnostic des défaillances contre une réduction des surcoûts. Ils exigent une décision explicite sur le risque en production.
selinuxInitialisation de SELinuxOuvrir
Rôle
Détermine si SELinux s'initialise et quel mode de politique est utilisé au démarrage. Désactiver l'initialisation retire l'application des règles et les points d'audit SELinux du système actif.
Valeurs et variantes
selinux=0Désactiver SELinux au démarrage.
selinux=1 or omittedAutoriser l'initialisation de SELinux lorsqu'il est compilé et configuré.
enforcing=0Alternative associée : initialiser SELinux en mode permissif pour journaliser les refus sans les appliquer.
enforcing=1Commencer à appliquer les règles lorsque la politique le permet.
Compromis ou mode de défaillance
selinux=0 est une décision de sécurité, pas une exigence HFT générique. La réactivation nécessite normalement un redémarrage et peut nécessiter un réétiquetage du système de fichiers.
mitigationsPolitique de protection contre les vulnérabilités CPUOuvrir
Rôle
Sélectionne une politique de protection contre les vulnérabilités CPU. Les modes disponibles arbitrent entre le surcoût des changements de contexte et du contrôle de spéculation et la protection contre les vulnérabilités matérielles concernées.
Valeurs et variantes
offDésactiver toutes les protections facultatives.
autoActiver les protections selon les vulnérabilités du CPU et les valeurs par défaut du noyau.
auto,nosmtProtections automatiques et désactivation de SMT si nécessaire.
omittedUtiliser la politique compilée/par défaut.
Compromis ou mode de défaillance
Selon le CPU, cela peut exposer des données du noyau, des processus, des VM et d'autres threads. Le gain de latency dépend du matériel et de la charge.
auditÉtat initial du sous-système d'audit LinuxOuvrir
Rôle
Détermine si le sous-système d'audit du noyau est activé au démarrage. L'état choisi affecte le coût de génération des événements et les éléments disponibles pour la sécurité, la conformité et la réponse aux incidents.
Valeurs et variantes
audit=0 or audit=offDésactiver l'audit pour ce démarrage ; une activation complète ultérieure nécessite un redémarrage.
audit=1 or audit=onActiver l'audit au démarrage.
omittedUtiliser la valeur par défaut configurée du noyau/de la distribution.
Compromis ou mode de défaillance
La désactivation de l'audit peut contrevenir aux exigences de conformité, de réponse aux incidents et d'investigation.
Contrôle le traitement des x86 Machine Check Exception et la récupération associée. Sa désactivation supprime les signalements asynchrones d'erreurs matérielles et une télémétrie essentielle sur les défauts CPU, mémoire et d'interconnexion.
Valeurs et variantes
offDésactiver le traitement machine-check.
no_cmciDésactiver les interruptions d'erreurs corrigées et utiliser l'interrogation lorsque cela est pris en charge.
dont_log_ceNe pas journaliser les erreurs corrigées.
ignore_ceIgnorer les erreurs corrigées.
no_lmceDésactiver la prise en charge de Local Machine Check Exception.
bootlog or nobootlogContrôler la journalisation des machine-check détectés au démarrage sur les noyaux compatibles.
omittedUtiliser le traitement normal machine-check.
Compromis ou mode de défaillance
Désactiver MCE peut transformer un composant défaillant diagnostiquable en corruption silencieuse de données, réinitialisations inexpliquées ou pics de latency impossibles à tracer.
Vérifier après le démarrage
dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
Désactive la prise en charge de Machine Check Exception sur les noyaux x86 32 bits. Ce n'est pas le réglage normal x86-64 et il peut être redondant lorsqu'une autre politique machine-check est déjà choisie.
Valeurs et variantes
nomceDésactiver MCE sur les compilations x86 32 bits compatibles.
omittedUtiliser la politique normale de l'architecture.
Compromis ou mode de défaillance
Conserver des jetons redondants ou inapplicables à l'architecture complique l'audit de la configuration de démarrage et peut masquer des hypothèses erronées.
norandmapsRandomisation de l'espace d'adressage utilisateurOuvrir
Rôle
Désactive ASLR dans l'espace utilisateur, comme kernel.randomize_va_space=0. Les adresses virtuelles deviennent plus reproductibles, mais la résistance à l'exploitation des vulnérabilités diminue sensiblement.
Valeurs et variantes
norandmapsDésactiver la randomisation de l'espace d'adressage utilisateur.
omittedUtiliser la politique ASLR sysctl/par défaut.
kernel.randomize_va_space=0, 1, or 2Politique d'exécution/sysctl : désactivée, randomisation limitée ou randomisation complète.
Compromis ou mode de défaillance
Cela affaiblit la défense contre l'exploitation de corruptions mémoire sur l'ensemble de l'hôte.
nowatchdogCommutateur principal des watchdogs de blocage du noyauOuvrir
Rôle
Désactive les watchdogs hard-lockup et soft-lockup. Les commutateurs de désactivation plus ciblés peuvent donc devenir redondants lorsque cet indicateur est présent.
Valeurs et variantes
nowatchdogDésactiver les watchdogs de blocage du noyau.
omittedUtiliser la politique watchdog configurée.
watchdog_thresh=<seconds>Alternative associée : conserver la détection, mais relever le seuil.
Compromis ou mode de défaillance
Un blocage dur ou souple peut persister sans signalement du noyau. Assurez-vous qu'un autre mécanisme indépendant de surveillance reste actif.
Contrôle la migration automatique des pages et la politique de traduction DMA pour une localité stable et des chemins de périphériques prévisibles.
numa_balancingMigration automatique des pages NUMAOuvrir
Rôle
Contrôle l'équilibrage NUMA automatique, qui échantillonne les accès mémoire en protégeant périodiquement les pages et peut déplacer des tâches ou des pages. L'état choisi arbitre entre la correction automatique de localité et le bruit des défauts de page et migrations.
Valeurs et variantes
disableDésactiver l'équilibrage NUMA automatique.
enableActiver l'équilibrage NUMA automatique.
omittedUtiliser la valeur par défaut du noyau/de la distribution.
Compromis ou mode de défaillance
Sans équilibrage automatique, un mauvais placement applicatif reste mauvais. Liez explicitement la mémoire et validez les compteurs d'accès distants.
Contrôle l'initialisation Intel IOMMU et les fonctions associées de remappage DMA ou d'interruptions, selon la prise en charge du matériel et du micrologiciel.
Valeurs et variantes
onActiver le pilote Intel IOMMU.
offLe désactiver.
igfx_offContourner l'unité DMAR des graphiques intégrés.
sp_offDésactiver la prise en charge des superpages IOMMU.
sm_on or sm_offAutoriser ou interdire le mode évolutif Intel.
strictRequête obsolète propre au pilote, équivalente à iommu.strict=1.
tboot_noforceEmpêcher tboot de forcer IOMMU ; réduit la protection contre les attaques DMA.
Compromis ou mode de défaillance
Les défauts du micrologiciel et la politique de traduction peuvent affecter la latency ou la stabilité des périphériques. Validez chaque génération de serveur/BIOS.
Vérifier après le démarrage
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
iommuPolitique de passthrough DMA par défautOuvrir
Rôle
Sélectionne la politique de domaine IOMMU par défaut pour les périphériques ordinaires. Le passthrough ou le mappage d'identité peuvent réduire le coût de traduction DMA pour les périphériques fiables, tandis que les domaines traduits assurent une isolation renforcée.
Valeurs et variantes
iommu=ptUtiliser le mode passthrough par défaut.
iommu=noptUtiliser le mode DMA traduit par défaut.
iommu.passthrough=1Réglage explicite moderne du passthrough.
iommu.passthrough=0Utiliser la traduction IOMMU par défaut.
iommu.strict=0 or 1Politique d'invalidation associée au mode traduit : différée ou stricte.
iommu=off, force, noforce, soft, merge, nomergeRéglages généraux propres à l'architecture ; aucun synonyme direct de passthrough.
Compromis ou mode de défaillance
Le passthrough affaiblit l'isolation DMA. Un périphérique défectueux ou compromis peut accéder à la mémoire de l'hôte hors de ses tampons prévus.
Vérifier après le démarrage
dmesg | grep -Ei "IOMMU.*(passthrough|Default domain)|DMAR"
find /sys/kernel/iommu_groups -maxdepth 2 -type l 2>/dev/null | head -n 40
Nommage des NIC dans l'espace utilisateur et réglages des délais et tentatives du stockage, qui déterminent la rapidité de détection des défauts.
net.ifnamesPolitique de nommage prévisible des interfaces systemd/udevOuvrir
Rôle
Contrôle le nommage prévisible des interfaces dans systemd/udev. Sa désactivation peut restaurer des noms historiques comme eth0 lorsque la distribution le permet ; il s'agit d'une convention de l'espace utilisateur transmise sur la ligne de commande du noyau, pas d'un réglage de latency réseau.
Valeurs et variantes
0Désactiver la NamePolicy prévisible.
1 or omittedAutoriser le nommage prévisible selon le schéma systemd actif et la politique .link.
Compromis ou mode de défaillance
L'ordre historique ethX peut changer lorsque le matériel, le micrologiciel ou l'ordre de détection change. Une mauvaise identification d'interface est plus dangereuse que toute préférence de nommage.
Vérifier après le démarrage
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_timeoutDélai des commandes d'E/S NVMe en secondesOuvrir
Rôle
Définit la valeur d'entrée du délai d'E/S NVMe en secondes. Le code amont actuel stocke le paramètre de module comme entier non signé avec une valeur par défaut de 30, puis le convertit en délai de la couche bloc en jiffies ; le délai effectif de la file doit donc être vérifié après démarrage.
Valeurs et variantes
30Valeur amont actuelle par défaut en secondes ; vérifiez le noyau cible.
a finite positive integerDélai explicite en secondes.
4294967295Valeur d'entrée non signée maximale sur 32 bits, et non jeton d'infini. L'expression du pilote nvme_io_timeout * HZ peut déborder avant de devenir le délai effectif de la requête ; sur un noyau à 1000 Hz, cette valeur peut donner environ 49.7 jours plutôt que 136 ans.
Compromis ou mode de défaillance
Un délai très élevé ou ayant débordé peut bloquer les E/S pendant une durée inattendue et retarder la réinitialisation, le basculement ou la récupération applicative. Considérez la valeur observée dans /sys/block/<device>/queue/io_timeout comme la valeur effective de référence.
nvme_core.max_retriesNombre maximal de tentatives des commandes NVMeOuvrir
Rôle
Définit le nombre maximal de nouvelles tentatives pour les commandes NVMe admissibles. Le code amont actuel le stocke comme octet non signé avec une valeur par défaut de 5.
Valeurs et variantes
0Ne pas réessayer les commandes admissibles.
1–255Nombre maximal de nouvelles tentatives ; 10 double la valeur amont actuelle par défaut.
omittedUtiliser la valeur par défaut du noyau.
Compromis ou mode de défaillance
Davantage de tentatives peuvent allonger la tail latency et retarder le basculement. Moins de tentatives peuvent révéler plus tôt les erreurs transitoires de support ou de transport.
Les cinq niveaux d'un profil de démarrage de production précis
Un profil facile à maintenir sépare les choix invariants de plateforme des listes CPU propres à la topologie et des dérogations de sécurité à haut risque. HFTKernel évalue ces niveaux ensemble, puis livre une configuration vérifiable, testable et réversible.
Périphérique racine, mode de montage initial, console série et réservation kdump testée.
02
Déterminisme de la plateforme
Pilote de veille, politique de fréquence, PCIe ASPM, clocksource, NUMA et politique IOMMU.
03
Topologie
CPU de service, CPU full-dynticks, déport RCU, masque IRQ par défaut, affinité des files et cpusets des applications.
04
Application des réglages à l'exécution
Masques des files de travail, affinité des threads du noyau, politique EPB/governor, files NIC, liaison mémoire et CPU affinity des services.
05
Maîtrise des risques
Mesures de sécurité, LSM, audit, ASLR, watchdogs et politique machine-check examinés séparément.
Vérification après démarrage
Confirmez l'état effectif avant de mesurer la latency
La ligne de commande n'est qu'une entrée. Cette liste de contrôle confirme le noyau exécuté, la topologie CPU, l'ensemble full-dynticks, le placement IRQ, clocksource, la politique d'énergie, IOMMU, l'état de sécurité et la politique de récupération NVMe.
Vérifiez toujours la documentation et le code source correspondant à la version exacte du noyau, aux correctifs de la distribution, au chargeur de démarrage, au micrologiciel et à la pile utilisateur déployés sur l'hôte cible.