Per impostare i valori in fase di esecuzione, usa sysctl
. (Suppongo che si possa scrivere a /proc/sys/kernel/printk
anche direttamente e apparentemente puoi anche usare dmesg -n CUR
come descritto qui)
Visualizza:
# sysctl kernel.printk
kernel.printk = 2 4 1 7
I separatori nell'output sono schede singole, btw.
Impostare. Qui i separatori sono solo spazi. Funziona altrettanto bene.
# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2 4 1 7
Vedi man sysctl
- "configura i parametri del kernel in fase di esecuzione" per saperne di più.
Promemoria dei livelli di gravità e dei quattro valori di kernel.printk forniti da Brian sopra:
- CUR =livello di gravità attuale; vengono stampati solo i messaggi più importanti di questo livello
- DEF =livello di gravità predefinito assegnato ai messaggi senza livello
- MIN =CUR minimo consentito
- BTDEF =CUR predefinito all'avvio
Sul mio CentOS:7 4 1 7
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error x x
4 - warning x x x
5 - notice x x
6 - informational V V
7 - debug
Questo è troppo rumoroso, voglio solo critico e attivo (nessun errore). I messaggi senza etichetta dovrebbero essere considerati come avvertimenti, quindi DEF va bene:
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error V V
4 - warning x
5 - notice
6 - informational
7 - debug
Impostare su:3 4 1 3
Ti suggerisco di modificare il tuo /etc/sysctl.conf
. Nello specifico, vuoi modificare la riga kernel.printk.
# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3
Non sono sicuro di quali siano le impostazioni predefinite di centos, ma sembra probabile che le cose siano impostate in modo più dettagliato del necessario.
Vedi anche la sezione Shorewall sul disboscamento. Non devi utilizzare la destinazione LOG per la registrazione, puoi utilizzare altri strumenti o regolare la gravità del registro e modificare le cose per controllare dove vanno i tuoi messaggi.
Ho trovato utile anche questo. Nelle distribuzioni basate su RHEL puoi cat /proc/sys/kernel/printk
per vedere quali sono le tue impostazioni attuali.
Quattro valori si trovano nel file printk. Ciascuno di questi valori definisce una regola diversa per la gestione dei messaggi di errore. Il primo valore, chiamato console loglevel, definisce la priorità più bassa dei messaggi stampati sulla console. (Si noti che, minore è la priorità, maggiore è il numero di loglevel.) Il secondo valore imposta il loglevel predefinito per i messaggi senza un loglevel esplicito ad essi collegato. Il terzo valore imposta la configurazione loglevel più bassa possibile per il loglevel della console. L'ultimo valore imposta il valore predefinito per il loglevel della console.
L'uso del parametro LOGLEVEL in /etc/sysconfig/init per impostare il loglevel della console non è più supportato. Per impostare il loglevel della console in Red Hat Enterprise Linux 6, passare loglevel=' come parametro del tempo di avvio. Ad esempio, loglevel=6 stamperà tutti i messaggi minori di 6 (non uguale a solo minore di).
Ringraziamo:
- RHEL 6 - E.3.9. /proc/sys/
- Linuxtopia - Livelli del log del kernel