1 dmesg命令
作用: dmesg命令可以用来显示打印信息。
用法: dmesg [参数]
常用参数:
-C,--clear 清除内核环形缓冲区
-c,--read-clear 读取并清除所有消息
-T,--显示时间戳
dmesg命令也可以与grep命令组合使用。如查找待用usb关键字的打印信息,就可以使用如下命令:
dmesg | grep usb
// | 管道
// grep 字符串匹配
2 cat /proc/kmsg
Linux打印等级
打印等级有四个数字,这四个数字分别代表console_ loglevel (控制台日志等级)、default_message_loglevel (默认消息等级)、minimum_console_ loglevel (最低控制台日志等级)、default_console_loglevel (默认控制台日志的等级)。这四个等级定义在kernel/printk/ printk. c文件
当中。如下图所示:
修改Linux内核打印等级
方法1:通过make menuconf ig图形化配置界面修改默认的日志级别。menuconfig图形化配置界面路径:
Kernel hacking-> printk and dmesg options -> Default message log level()
方法2:在调用printk的时候设置打印等级。如下所示:
printk(KERN_EMERG "hello! \n");
方法3:使用echo直接修改打印等级。如下所示:
1.查看内核打印等级: cat /proc/ sys/kernel/printk
2.修改控制台打印等级,如屏蔽所有打印,只需要将第一个数值调整到0即可。使用命令如下:
echo 0 4 1 7> /proc/ sys/kernel/ printk .
打开控制台的所有打印,使用命令:
echo 7 4 1 7> /proc/sys/kernel/printk