Riferimento parametro di avvio kernel

La tabella seguente descrive alcuni parametri di boot del kernel comunemente utilizzati.

Opzione

Descrizione

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

Specifica la destinazione dello stato del sistema equivalente systemd più vicina a un livello di esecuzione SysV precedente. N può assumere un valore intero compreso tra 0 e 6.

Systemd mappa le destinazioni stato-sistema per imitare il sistema di inizializzazione SysV legacy.

Per una descrizione delle destinazioni per lo stato del sistema, vedere Destinazioni systemd.

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

Specifica la shell di salvataggio. Il sistema esegue il boot in modalità monoutente e richiede la password root.

3 o systemd.unit=multi-user.target

Specifica la destinazione systemd per il login multiutente e non grafico.

5 o systemd.unit=graphical.target

Specifica la destinazione systemd per il login grafico multiutente.

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

Specifica la modalità di emergenza. Il sistema si avvia in modalità monoutente e richiede la password root. Meno servizi vengono avviati rispetto a quando si è in modalità di soccorso.

KEYBOARDTYPE=kbtype

Specifica il tipo di tastiera, scritto su /etc/sysconfig/keyboard nel file initramfs.

KEYTABLE=kbtype

Specifica il layout della tastiera, scritto su /etc/sysconfig/keyboard nel file initramfs.

LANG=language_territory.codeset

Specifica la lingua e il set di codici del sistema scritti in /etc/sysconfig/i18n in initramfs.

max_loop=N

Specifica il numero di dispositivi loop (/dev/loop*) disponibili per l'accesso ai file come dispositivi a blocchi. I valori predefiniti e massimi di N sono 8 e 255.

nouptrack

Disabilita l'applicazione degli aggiornamenti Uptrack Ksplice al kernel.

quiet

Riduce l'output del debug.

rd_LUKS_UUID=UUID

Attiva una partizione LUKS (Unified Key Setup) Linux cifrata con l'UUID specificato.

rd_LVM_VG=vg/lv_vol

Specifica un gruppo di volumi LVM e un volume da attivare.

rd_NO_LUKS

Disabilita il rilevamento di una partizione LUKS cifrata.

rhgb

Specifica di utilizzare la visualizzazione grafica di avvio di Red Hat per indicare lo stato di avanzamento del boot.

rn_NO_DM

Disabilita il rilevamento RAID Device-Mapper (DM).

rn_NO_MD

Disabilita il rilevamento RAID con più dispositivi (MD).

ro root=/dev/mapper/vg-lv_root

Specifica che il file system root deve essere attivato in sola lettura e specifica il file system root in base al percorso del dispositivo del relativo volume LVM (dove vg è il nome del gruppo di volumi).

rw root=UUID=UUID

Specifica che il file system root (/) deve essere attivato in lettura/scrittura in fase di boot e specifica la partizione root mediante il relativo UUID.

selinux=0

Disabilita SELinux e tocca il file /.autorelabel in modo che i contesti di file SELinux vengano rietichettati automaticamente la volta successiva che si esegue il boot con SELinux abilitato.

Non disabilitare SELinux negli ambienti di produzione. Impostare piuttosto SELinux sulla modalità permissiva.

enforcing=0 Imposta SELinux in modalità permissiva fino al successivo reboot. In modalità permissiva, i contesti di file vengono etichettati automaticamente e i rifiuti vengono registrati, ma le applicazioni possono continuare a funzionare.

Utilizzare la modalità permissiva di SELinux per eseguire il debug dei problemi di SELinux.

SYSFONT=font

Specifica il carattere della console, che viene scritto in /etc/sysconfig/i18n in initramfs.

Parametri che controllano le prestazioni del sistema

I seguenti parametri controllano vari aspetti delle prestazioni del sistema:

Parametro Descrizione
fs.file-max

Specifica il numero massimo di file aperti per tutti i processi. Aumentare il valore di questo parametro se vengono visualizzati messaggi sull'esaurimento degli handle dei file.

kernel.io_uring_disabled

Specifica l'impostazione disabilitata per la creazione di istanze io_uring. io_uring fornisce un'interfaccia per gestire le operazioni di I/O asincrone che possono migliorare le prestazioni per lo storage e la rete. io_uring è supportato con UEK ed è abilitato per impostazione predefinita quando si esegue UEK su Oracle Linux.

Per il parametro io_uring è possibile impostare i valori riportati di seguito.

  • kernel.io_uring_disabled=0 (impostazione predefinita). Questa impostazione specifica che tutti i processi possono creare istanze io_uring.
  • kernel.io_uring_disabled=1. Questa impostazione specifica che solo i processi con privilegi CAP_SYS_ADMIN possono creare istanze io_uring.
  • kernel.io_uring_disabled=2. Questa impostazione specifica che la creazione dell'istanza io_uring è disabilitata per tutti gli utenti.
net.core.netdev_max_backlog

Specifica la dimensione della coda di backlog del ricevente, che viene utilizzata se un'interfaccia riceve pacchetti più velocemente di quanto il kernel possa elaborarli. Se questa coda è troppo piccola, i pacchetti vengono persi al ricevitore, piuttosto che sulla rete.

net.core.rmem_max

Specifica la dimensione massima del buffer del socket di lettura. Per ridurre al minimo la perdita di pacchetti di rete, questo buffer deve essere abbastanza grande da gestire i pacchetti di rete in entrata.

net.core.wmem_max

Specifica la dimensione massima del buffer del socket di scrittura. Per ridurre al minimo la perdita di pacchetti di rete, questo buffer deve essere abbastanza grande da gestire i pacchetti di rete in uscita.

net.ipv4.tcp_available_congestion_control

Visualizza gli algoritmi di prevenzione della congestione TCP disponibili per l'uso. Utilizzare il comando modprobe se è necessario caricare moduli aggiuntivi, come tcp_htcp, per implementare l'algoritmo htcp.

net.ipv4.tcp_congestion_control

Specifica l'algoritmo di prevenzione della congestione TCP utilizzato.

net.ipv4.tcp_max_syn_backlog

Specifica il numero di richieste SYN in sospeso consentite. Aumentare il valore di questo parametro se nei log vengono visualizzate avvertenze synflood causate dal sovraccarico del server da parte di tentativi di connessione legittimi.

net.ipv4.tcp_rmem

Specifica le dimensioni minime, predefinite e massime del buffer di ricezione utilizzate per un socket TCP. Il valore massimo non può essere maggiore di net.core.rmem_max.

net.ipv4.tcp_wmem

Specifica le dimensioni minime, predefinite e massime del buffer di invio utilizzate per un socket TCP. Il valore massimo non può essere maggiore di net.core.wmem_max.

vm.swappiness

Specifica la probabilità che il kernel scriva le pagine caricate da scambiare anziché eliminare le pagine dalla cache delle pagine di sistema. Se impostato su 0, lo scambio viene eseguito solo per evitare una condizione di memoria esaurita. Quando è impostato su 100, il kernel cambia in modo aggressivo. Per un sistema desktop, l'impostazione di un valore inferiore può migliorare la reattività del sistema riducendo la latenza. Il valore predefinito è 60.

Questo parametro è destinato all'uso con i computer portatili per ridurre il consumo energetico del disco rigido. Non modificare questo valore nei sistemi server.

Parametri che controllano gli errori imprevisti del kernel

I seguenti parametri controllano le circostanze in cui può verificarsi un errore panic del kernel.

Parametro Descrizione
kernel.hung_task_panic

Se impostato su 1, il kernel si verifica in caso di inattività di un thread del kernel o dell'utente nello stato TASK_UNINTERRUPTIBLE (D state) per più di kernel.hung_task_timeout_secs secondi. Un processo rimane in stato D in attesa del completamento dell'I/O. Impossibile arrestare o interrompere un processo in questo stato.

Il valore predefinito è 0, che disabilita l'errore panic.

Per diagnosticare un thread sospeso, è possibile esaminare /proc/PID/stack, che visualizza lo stack del kernel sia per i thread del kernel che per quelli dell'utente.

kernel.hung_task_timeout_secs

Specifica per quanto tempo un utente o un thread del kernel può rimanere in stato D prima che venga generato un messaggio di avvertenza o che si verifichi un errore grave del kernel, se il valore kernel.hung_task_panic è 1. Il valore predefinito è 120 secondi. Il valore 0 disabilita il timeout.

kernel.nmi_watchdog

Se impostato su 1 (impostazione predefinita), abilita il thread del watchdog di interrupt non mascherabile (NMI) nel kernel. Per utilizzare lo switch NMI o il profiler di sistema OProfile per generare un NMI non definito, impostare il valore di kernel.nmi_watchdog su 0.

kernel.panic

Specifica il numero di secondi dopo un errore panic prima che il sistema si reimposti automaticamente.

Se il valore è 0, ovvero il valore predefinito, il sistema viene sospeso ed è possibile raccogliere informazioni dettagliate sulla situazione di emergenza per la risoluzione dei problemi.

Per abilitare la reimpostazione automatica, impostare un valore diverso da zero. Se è necessaria un'immagine di memoria (vmcore), lasciare il tempo necessario a Kdump per creare questa immagine. Il valore suggerito è di 30 secondi, anche se i sistemi di grandi dimensioni richiedono un tempo più lungo.

kernel.panic_on_io_nmi

Se impostato su 0 (impostazione predefinita), il sistema tenta di continuare le operazioni se il kernel rileva un NMI di controllo del canale I/O (IOCHK) che in genere indica un errore hardware non correggibile. Se impostato su 1, si verifica un errore grave di sistema.

kernel.panic_on_oops

Se impostato su 0, il sistema tenta di continuare le operazioni se il kernel rileva una condizione oops o BUG. Se impostato su 1 (impostazione predefinita), il sistema ritarda alcuni secondi per dare al daemon di log del kernel, klogd, il tempo necessario per registrare l'output OOP prima che si verifichi l'errore panic.

In un cluster OCFS2. Impostare il valore su 1 per specificare che un sistema deve generare un errore panic se si verifica un errore kernel. Se un thread del kernel richiesto per l'operazione del cluster non riesce, il sistema deve reimpostarsi. In caso contrario, un altro nodo potrebbe non rilevare se un nodo è lento a rispondere o non è in grado di rispondere, causando l'arresto delle operazioni del cluster.

kernel.panic_on_unrecovered_nmi

Se impostato su 0 (impostazione predefinita), il sistema tenta di continuare le operazioni se il kernel rileva un NMI che potrebbe indicare una parità non correggibile o un errore di memoria ECC. Se impostato su 1, si verifica un errore grave di sistema.

kernel.softlockup_panic

Se impostato su 0 (impostazione predefinita), il sistema tenta di continuare le operazioni se il kernel rileva un errore di soft-lockup che causa il mancato aggiornamento dell'indicatore orario del thread del watchdog NMI per più del doppio del valore di kernel.watchdog_thresh secondi. Se impostato su 1, si verifica un errore grave di sistema.

kernel.unknown_nmi_panic

Se il parametro è impostato su 1, si verifica un errore nel sistema se il kernel rileva un NMI non definito. È possibile generare un NMI non definito premendo manualmente uno switch NMI. Poiché il thread del watchdog NMI utilizza anche il NMI non definito, impostare il valore di kernel.unknown_nmi_panic su 0 se si imposta kernel.nmi_watchdog su 1.

kernel.watchdog_thresh

Specifica l'intervallo tra la generazione di un interrupt di monitoraggio delle prestazioni NMI utilizzato dal kernel per verificare la presenza di errori hard-lockup e soft-lockup. Si suppone un errore di hard-lockup se una CPU non risponde all'interrupt per più di kernel.watchdog_thresh secondi. Il valore predefinito è 10 secondi. Il valore 0 disabilita il rilevamento degli errori di lockup.

vm.panic_on_oom

Se impostato su 0 (impostazione predefinita), l'assassino OOM del kernel esegue la scansione dell'intera lista di attività e arresta un processo di gestione della memoria per evitare un errore grave. Se impostato su 1, il kernel si blocca ma può sopravvivere in determinate condizioni. Se un processo limita le allocazioni a determinati nodi utilizzando i criteri di memoria o i cpuet e tali nodi raggiungono lo stato di esaurimento della memoria, il killer di OOM può arrestare un processo. Nessun panico si verifica in questo caso perché la memoria di altri nodi potrebbe essere libera e il sistema nel suo complesso potrebbe non essere ancora esaurito. Se impostato su 2, il kernel si verifica sempre quando si verifica una condizione OOM. Le impostazioni 1 e 2 sono destinate all'uso con i cluster, a seconda del criterio di failover definito.