Çekirdek.printk değerlerinin açıklaması


19

Debian 5 ve 6 arasında, kernel.printk in işlemi için varsayılan önerilen değer /etc/sysctl.confdeğiştirildi kernel.printk = 4 4 1 7kadar kernel.printk = 3 4 1 3. İlk değerin konsola giden değere karşılık geldiğini anlıyorum. Sonraki 3 değer ne için?

Sayısal değerler, sistem günlüğü günlüğü düzeyleri ile aynı anlama sahip mi? Yoksa farklı tanımları var mı?

Aramalarımda bazı belgeler eksik mi, yoksa çekirdek kaynağını bulabilecek tek yer mi?

Yanıtlar:


21

Sysctl ayarları Documentation/sysctl/*.txtçekirdek kaynak ağacında belgelenmiştir . Debian'da, linux-docbelgelerin olması için yükleyin usr/share/doc/linux-doc-*/Documentation/(çoğu dağıtımda benzer bir paket bulunur). Gönderen Documentation/sysctl/kernel.txt:

Dört değerleri printkdenote: console_loglevel, default_message_loglevel, minimum_console_loglevelve default_console_loglevelsırasıyla.

Bu değerler, printk()hata mesajlarını yazdırırken veya günlüğe kaydederken davranışı etkiler . man 2 syslogFarklı loglevels hakkında daha fazla bilgi için bakın .

  • console_loglevel: bundan daha yüksek önceliğe sahip mesajlar konsola yazdırılacaktır
  • default_message_loglevel: açık bir önceliği olmayan mesajlar bu öncelikle yazdırılacaktır
  • minimum_console_loglevel: console_loglevel'in ayarlanabileceği minimum (en yüksek) değer
  • default_console_loglevel: için varsayılan değer console_loglevel

Ne default_console_logleveliçin kullanıldığına dair net bir nesir açıklaması bulamıyorum . In Linux çekirdeği kaynağı , kernel.printksysctl setleri console_printk. default_console_loglevelAlan her yerde kullanılabilir görünmüyor.


1
Değişikliğin kaynağı olan bu Debian hatası 526855 , klogd'un bazı çekirdek işlevini çağırdığında console_loglevel'i default_console_loglevel'e sıfırlayabileceği bazı koşullar olduğunu düşündürüyordu.
Zoredache

1
@Zoredache: Ah. O zamanlar geri döndü , ama artık değil . Ayar yalnızca geçerli Debian kararlı tarafından gönderilen çekirdek sürümünde kullanılmayı durdurdu; bu, kurulum komut dosyalarının neden hala desteklediğini açıklar.
Gilles 'SO- kötü olmayı bırak'

4

kernel.printkDeğerlerin tanımı

  • "0" → Acil durum mesajları, sistem çökmek üzeredir veya kararsızdır pr_emerg
  • "1" → Kötü bir şey oldu ve hemen önlem alınmalıdır pr_alert
  • "2" → Ciddi bir donanım / yazılım hatası gibi kritik bir durum oluştu pr_crit
  • "3" → Donanım ile ilgili sorunları göstermek için sürücüler tarafından sıklıkla kullanılan bir hata koşulu pr_err
  • "4" → Ciddi bir şey ifade etmeyen ancak sorunları gösterebilecek bir uyarı
  • "5" → Ciddi bir şey yok, ama yine de. Genellikle güvenlik olaylarını bildirmek için kullanılır. pr_notice
  • "6" → Bilgilendirme mesajı, örn. Sürücü başlatma sırasında başlangıç ​​bilgisi pr_info
  • "7" → DEBUG tanımlanmışsa iletilerde hata ayıklama pr_debug, pr_devel
  • KERN_DEFAULT "d" Varsayılan çekirdek loglevel
  • KERN_CONT Günlük çıktısının "" "devamı" satırı (yalnızca eki olmayan bir satırdan sonra yapılır)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.