Référence des paramètres d'initialisation du noyau

Le tableau suivant décrit certains paramètres d'initialisation du noyau couramment utilisés.

Option

Description

0, 1, 2, 3, 4, 5 ou 6, ou systemd.unit=runlevelN.target

Spécifie la cible d'état système équivalente systemd la plus proche pour correspondre à un niveau d'exécution SysV hérité. N peut prendre une valeur entière comprise entre 0 et 6.

Systemd mappe les cibles d'état système pour imiter le système d'initialisation SysV hérité.

Pour une description des cibles d'état système, reportez-vous à la section Systemd Targets.

1, s, S, single ou systemd.unit=rescue.target

Spécifie le shell de secours. Le système s'initialise en mode monoutilisateur et invite à saisir le mot de passe root.

3 ou systemd.unit=multi-user.target

Spécifie la cible systemd pour la connexion non graphique multiutilisateur.

5 ou systemd.unit=graphical.target

Spécifie la cible systemd pour la connexion graphique multiutilisateur.

-b, emergency ou systemd.unit=emergency.target

Indique le mode d'urgence. Le système s'initialise en mode monoutilisateur et invite à saisir le mot de passe root. Moins de services sont démarrés qu'en mode secours.

KEYBOARDTYPE=kbtype

Spécifie le type de clavier, écrit dans /etc/sysconfig/keyboard dans initramfs.

KEYTABLE=kbtype

Spécifie la disposition du clavier, écrite dans /etc/sysconfig/keyboard dans initramfs.

LANG=language_territory.codeset

Indique la langue du système et le codeset, qui sont écrits dans /etc/sysconfig/i18n dans initramfs.

max_loop=N

Spécifie le nombre de périphériques en boucle (/dev/loop*) disponibles pour accéder aux fichiers en tant que périphériques en mode bloc. Les valeurs par défaut et maximales de N sont 8 et 255.

nouptrack

Désactive l'application des mises à jour de Ksplice Uptrack au noyau.

quiet

Réduit la sortie de débogage.

rd_LUKS_UUID=UUID

Active une partition Linux Unified Key Setup (LUKS) cryptée avec l'UUID spécifié.

rd_LVM_VG=vg/lv_vol

Spécifie un groupe de volumes LVM et un volume à activer.

rd_NO_LUKS

Désactive la détection d'une partition LUKS chiffrée.

rhgb

Spécifie d'utiliser l'affichage graphique d'initialisation de Red Hat pour indiquer la progression de l'initialisation.

rn_NO_DM

Désactive la détection RAID Device-Mapper (DM).

rn_NO_MD

Désactive la détection RAID sur plusieurs périphériques (MD).

ro root=/dev/mapper/vg-lv_root

Indique que le système de fichiers root doit être monté en lecture seule et indique le système de fichiers root par le chemin de périphérique de son volume LVM (où vg est le nom du groupe de volumes).

rw root=UUID=UUID

Indique que le système de fichiers root (/) doit être monté accessible en lecture/écriture au moment de l'initialisation et spécifie la partition root par son UUID.

selinux=0

Désactive SELinux et touche le fichier /.autorelabel afin que les contextes de fichier SELinux soient automatiquement réétiquetés lors de la prochaine initialisation avec SELinux activé.

Ne désactivez pas SELinux dans les environnements de production. Définissez plutôt SELinux sur le mode permissif.

enforcing=0 Définit SELinux sur le mode permissif jusqu'à la prochaine réinitialisation. En mode permissif, les contextes de fichier sont automatiquement étiquetés et les refus sont consignés, mais les applications peuvent continuer à fonctionner.

Utilisez le mode permissif de SELinux pour déboguer les problèmes SELinux.

SYSFONT=font

Spécifie la police de console, écrite dans /etc/sysconfig/i18n dans initramfs.

Paramètres qui contrôlent les performances du système

Les paramètres suivants contrôlent différents aspects des performances du système :

Paramètre Description
fs.file-max

Indique le nombre maximum de fichiers ouverts pour tous les processus. Augmentez la valeur de ce paramètre si vous voyez des messages indiquant que les descripteurs de fichier sont épuisés.

kernel.io_uring_disabled

Spécifie le paramètre désactivé pour la création d'instances io_uring. io_uring fournit une interface pour gérer les opérations d'E/S asynchrones qui peuvent améliorer les performances de stockage et de mise en réseau. io_uring est pris en charge avec UEK et est activé par défaut lors de l'exécution de UEK sur Oracle Linux.

Vous pouvez définir les valeurs suivantes pour le paramètre io_uring :

  • kernel.io_uring_disabled=0 (valeur par défaut). Ce paramètre indique que tous les processus peuvent créer des instances io_uring.
  • kernel.io_uring_disabled=1. Ce paramètre indique que seuls les processus disposant de privilèges CAP_SYS_ADMIN peuvent créer des instances io_uring.
  • kernel.io_uring_disabled=2. Ce paramètre indique que la création d'instance io_uring est désactivée pour tous les utilisateurs.
net.core.netdev_max_backlog

Spécifie la taille de la file d'attente du carnet de commandes du récepteur, qui est utilisée si une interface reçoit des paquets plus rapidement que le noyau ne peut les traiter. Si cette file d'attente est trop petite, les paquets sont perdus au niveau du récepteur, plutôt que sur le réseau.

net.core.rmem_max

Spécifie la taille maximale du tampon de socket de lecture. Pour minimiser la perte de paquets réseau, cette mémoire tampon doit être suffisamment grande pour gérer les paquets réseau entrants.

net.core.wmem_max

Spécifie la taille maximale du tampon de socket d'écriture. Pour minimiser la perte de paquets réseau, cette mémoire tampon doit être suffisamment grande pour gérer les paquets réseau sortants.

net.ipv4.tcp_available_congestion_control

Affiche les algorithmes d'évitement de congestion TCP disponibles pour utilisation. Utilisez la commande modprobe si vous devez charger des modules supplémentaires tels que tcp_htcp pour implémenter l'algorithme htcp.

net.ipv4.tcp_congestion_control

Indique l'algorithme d'évitement de congestion TCP utilisé.

net.ipv4.tcp_max_syn_backlog

Indique le nombre de demandes SYN en attente autorisées. Augmentez la valeur de ce paramètre si vous voyez des avertissements synflood dans les journaux causés par la surcharge du serveur par des tentatives de connexion légitimes.

net.ipv4.tcp_rmem

Spécifie les tailles de tampon de réception minimale, par défaut et maximale utilisées pour un socket TCP. La valeur maximale ne peut pas être supérieure à net.core.rmem_max.

net.ipv4.tcp_wmem

Spécifie les tailles de tampon d'envoi minimales, par défaut et maximales utilisées pour un socket TCP. La valeur maximale ne peut pas être supérieure à net.core.wmem_max.

vm.swappiness

Spécifie la probabilité que le noyau écrive les pages chargées à échanger plutôt que de supprimer des pages du cache de pages système. Lorsque la valeur est définie sur 0, le swap se produit uniquement pour éviter une condition de mémoire insuffisante. Lorsque la valeur est définie sur 100, le noyau bascule de manière agressive. Pour un système de bureau, la définition d'une valeur inférieure peut améliorer la réactivité du système en réduisant la latence. La valeur par défaut est 60.

Ce paramètre est destiné à être utilisé avec les ordinateurs portables pour réduire la consommation d'énergie du disque dur. N'ajustez pas cette valeur sur les systèmes serveur.

Paramètres qui contrôlent les erreurs graves du noyau

Les paramètres suivants contrôlent les circonstances dans lesquelles une erreur grave du noyau peut se produire.

Paramètre Description
kernel.hung_task_panic

Si la valeur est définie sur 1, le noyau panique si un thread utilisateur ou de noyau se met en veille à l'état TASK_UNINTERRUPTIBLE (Etat D) pendant plus de kernel.hung_task_timeout_secs secondes. Un processus reste à l'état D en attendant la fin des E/S. Vous ne pouvez pas arrêter ou interrompre un processus dans cet état.

La valeur par défaut est 0, ce qui désactive la panique.

Pour diagnostiquer un thread bloqué, vous pouvez examiner /proc/PID/stack, qui affiche la pile du noyau pour le noyau et les threads utilisateur.

kernel.hung_task_timeout_secs

Indique la durée pendant laquelle un thread utilisateur ou de noyau peut rester à l'état D avant la génération d'un message d'avertissement ou la panique du noyau, si la valeur de kernel.hung_task_panic est 1. La valeur par défaut est 120 secondes. La valeur 0 désactive le délai d'expiration.

kernel.nmi_watchdog

Si la valeur est définie sur 1 (valeur par défaut), active le thread du chien de garde d'interruption non masquable (NMI) dans le noyau. Pour utiliser le commutateur NMI ou le profileur du système OProfile pour générer une NMI non définie, définissez la valeur de kernel.nmi_watchdog sur 0.

kernel.panic

Indique le nombre de secondes après une erreur grave avant qu'un système ne se réinitialise automatiquement.

Si la valeur est 0, qui est la valeur par défaut, le système est suspendu et vous pouvez collecter des informations détaillées sur la panique à des fins de dépannage.

Pour activer la réinitialisation automatique, définissez une valeur différente de zéro. Si vous avez besoin d'une image de mémoire (vmcore), laissez suffisamment de temps à Kdump pour créer cette image. La valeur suggérée est de 30 secondes, bien que les systèmes volumineux nécessitent plus de temps.

kernel.panic_on_io_nmi

Si la valeur est définie sur 0 (valeur par défaut), le système tente de poursuivre les opérations si le noyau détecte une NMI de vérification de canal d'E/S (IOCHK) qui indique généralement une erreur matérielle non corrigible. Si elle est définie sur 1, le système panique.

kernel.panic_on_oops

Si la valeur est définie sur 0, le système tente de poursuivre les opérations si le noyau détecte une condition oops ou BUG. Si la valeur est définie sur 1 (valeur par défaut), le système retarde quelques secondes pour donner au démon de journal du noyau, klogd, le temps d'enregistrer la sortie oops avant que la panique ne se produise.

Dans un cluster OCFS2. Définissez la valeur sur 1 pour indiquer qu'un système doit paniquer en cas d'échec du noyau. Si un thread de noyau requis pour le fonctionnement du cluster échoue, le système doit se réinitialiser. Sinon, un autre noeud peut ne pas détecter si un noeud est lent à répondre ou incapable de répondre, ce qui entraîne l'arrêt des opérations du cluster.

kernel.panic_on_unrecovered_nmi

Si la valeur est définie sur 0 (valeur par défaut), le système tente de poursuivre les opérations si le noyau détecte un NMI qui peut indiquer une erreur de parité non corrigible ou de mémoire ECC. Si elle est définie sur 1, le système panique.

kernel.softlockup_panic

Si la valeur est définie sur 0 (valeur par défaut), le système tente de poursuivre les opérations si le noyau détecte une erreur soft-lockup qui fait que le thread du chien de garde NMI ne parvient pas à mettre à jour son horodatage pendant plus de deux fois la valeur de kernel.watchdog_thresh secondes. Si elle est définie sur 1, le système panique.

kernel.unknown_nmi_panic

Si la valeur est définie sur 1, le système panique si le noyau détecte une NMI non définie. Vous pouvez générer une NMI non définie en appuyant manuellement sur un commutateur NMI. Comme le thread du chien de garde NMI utilise également le NMI non défini, définissez la valeur de kernel.unknown_nmi_panic sur 0 si vous définissez kernel.nmi_watchdog sur 1.

kernel.watchdog_thresh

Spécifie l'intervalle entre la génération d'une interruption de surveillance des performances NMI que le noyau utilise pour vérifier les erreurs hard-lockup et soft-lockup. Une erreur de verrouillage permanent est supposée si une CPU ne répond pas à l'interruption pendant plus de kernel.watchdog_thresh secondes. La valeur par défaut est de 10 secondes. La valeur 0 désactive la détection des erreurs de verrouillage.

vm.panic_on_oom

Si la valeur est définie sur 0 (valeur par défaut), l'OOM-killer du noyau parcourt l'ensemble de la liste des tâches et arrête un processus de perte de mémoire pour éviter toute panique. Si la valeur est définie sur 1, le noyau panique mais peut survivre dans certaines conditions. Si un processus limite les allocations à certains noeuds à l'aide de stratégies de mémoire ou de cpusets, et que ces noeuds atteignent le statut d'épuisement de mémoire, OOM-killer peut arrêter un processus. Dans ce cas, aucune panique ne se produit car la mémoire des autres noeuds peut être libre et le système dans son ensemble n'est peut-être pas encore à court de mémoire. Si la valeur est définie sur 2, le noyau panique toujours lorsqu'une condition OOM se produit. Les paramètres 1 et 2 sont destinés à être utilisés avec les clusters, en fonction de la stratégie de basculement définie.