内核printk等级设置
时间: 2023-08-22 19:27:39 浏览: 106
高通平台printk输出log到串口
内核提供了丰富的输出调试信息的方式,其中就包括 printk 函数。printk 函数可以在内核运行时输出信息,用于调试和排错。
printk 函数可以设置不同的输出等级,以便过滤输出信息。在内核中,一共定义了 8 个不同的输出等级。按照从高到低的顺序,这 8 个输出等级依次为:
1. KERN_EMERG(紧急)
2. KERN_ALERT(警戒)
3. KERN_CRIT(严重)
4. KERN_ERR(错误)
5. KERN_WARNING(警告)
6. KERN_NOTICE(通知)
7. KERN_INFO(信息)
8. KERN_DEBUG(调试信息)
可以通过在 printk 函数中传入不同的输出等级来设置输出信息的级别。例如,使用 printk(KERN_ERR "Error message\n") 可以输出一个错误信息,而使用 printk(KERN_DEBUG "Debug message\n") 只有在设置了适当的调试等级时才会输出。
在系统运行时,可以通过修改 /proc/sys/kernel/printk 文件来调整输出等级。例如,echo "4 4 1 7" > /proc/sys/kernel/printk 可以设置输出等级为 ERR、WARNING、NOTICE 和 INFO,不输出 DEBUG 信息。这种方式的输出等级设置会在系统重启后失效。
阅读全文