GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghentikan pesan kernel membanjiri konsol saya?

Untuk menyetel nilai saat runtime, gunakan sysctl . (Saya kira seseorang dapat menulis ke /proc/sys/kernel/printk langsung juga dan ternyata anda juga bisa menggunakan dmesg -n CUR seperti yang dijelaskan di sini)

Tampilan:

# sysctl kernel.printk
kernel.printk = 2       4       1       7

Pemisah dalam output adalah tab tunggal, btw.

Mengatur. Di sini pemisah hanyalah spasi. Bekerja juga.

# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2       4       1       7

Lihat man sysctl - "konfigurasi parameter kernel saat runtime" untuk informasi lebih lanjut.

Pengingat tingkat keparahan dan empat nilai kernel.printk yang diberikan oleh Brian di atas:

  • CUR =tingkat keparahan saat ini; hanya pesan yang lebih penting dari level ini yang dicetak
  • DEF =tingkat keseriusan default yang ditetapkan untuk pesan tanpa tingkat
  • MIN =CUR minimum yang diperbolehkan
  • BTDEF =CUR default waktu boot

Di CentOS saya: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            

Ini terlalu berisik, saya hanya ingin kritis dan naik (tidak ada kesalahan). Pesan tanpa label harus dianggap sebagai peringatan, jadi DEF bagus:

                     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            

Setel ke:3 4 1 3


Saya sarankan Anda mengubah /etc/sysctl.conf Anda . Khususnya, Anda ingin men-tweak baris kernel.printk.

# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3

Saya tidak yakin apa pengaturan default centos, tetapi sepertinya saya memiliki hal-hal yang diatur lebih verbose dari yang Anda butuhkan.

Lihat juga bagian dinding pantai tentang penebangan. Anda tidak perlu menggunakan target LOG untuk mencatat log, Anda dapat menggunakan fitur lain, atau menyesuaikan tingkat keparahan log, dan menyesuaikan beberapa hal untuk mengontrol tujuan pesan Anda.


Saya menemukan ini membantu juga. Pada distro berbasis RHEL Anda dapat cat /proc/sys/kernel/printk untuk melihat pengaturan Anda saat ini.

Empat nilai ditemukan dalam file printk. Setiap nilai ini menentukan aturan yang berbeda untuk menangani pesan kesalahan. Nilai pertama, yang disebut console loglevel, menentukan prioritas terendah dari pesan yang dicetak ke konsol. (Perhatikan bahwa, semakin rendah prioritasnya, semakin tinggi nomor loglevel-nya.) Nilai kedua menetapkan loglevel default untuk pesan tanpa loglevel eksplisit yang dilampirkan padanya. Nilai ketiga menetapkan konfigurasi loglevel serendah mungkin untuk loglevel konsol. Nilai terakhir menetapkan nilai default untuk loglevel konsol.

Penggunaan parameter LOGLEVEL di /etc/sysconfig/init untuk menyetel loglevel konsol tidak lagi didukung. Untuk menyetel loglevel konsol di Red Hat Enterprise Linux 6, berikan loglevel=' sebagai parameter waktu boot. Misalnya, loglevel=6 akan mencetak semua pesan kurang dari 6 (tidak sama dengan hanya kurang dari).

Kredit ke:

  • RHEL 6 - E.3.9. /proc/sys/
  • Linuxtopia - Level Log Kernel

Linux
  1. Bagaimana cara menghentikan sed dari buffering?

  2. Bagaimana cara memuat modul kernel Linux dari kode C?

  3. Bagaimana cara mengakses (jika mungkin) ruang kernel dari ruang pengguna?

  1. Bagaimana cara keluar dari vim -y di konsol?

  2. Bagaimana cara berhenti menambahkan IP dari EC2 ke known_hosts untuk ssh?

  3. Bagaimana cara mencegah pertukaran program tertentu?

  1. Cara Menginstal Kernel 5.13 di Ubuntu 18.04 dari Repositori 20.04

  2. Bagaimana cara menghentikan VM Windows10 di OpenStack agar tidak memulai ulang secara otomatis!

  3. Bagaimana saya bisa memesan satu blok memori dari kernel Linux?