dmesg(display message或者driver message)是Linux系统中的一个命令,用于显示内核环缓冲区中的消息。这些消息通常包括硬件状态、驱动程序和内核模块的信息。dmesg命令本身并不直接设置日志级别,而是显示当前内核环缓冲区中的消息。
内核日志级别是由内核参数printk控制的。printk允许开发者为不同类型的消息分配不同的优先级。printk的日志级别分为8个等级,从0到7,数字越小表示优先级越高。这些级别如下:
要查看当前的printk日志级别,可以使用以下命令:
cat /proc/sys/kernel/printk
输出结果类似于:
7 4 1 7
这表示当前的控制台日志级别为4(Warning),默认的消息日志级别为7(Debug),最小控制台日志级别为1(Alert),以及默认的控制台日志级别为7(Debug)。
要更改printk日志级别,可以使用以下命令:
sudo sysctl -w kernel.printk="4 4 1 7"
这将把所有级别的日志级别设置为4(Warning)。请注意,这种更改在系统重启后将失效。要永久更改日志级别,请编辑/etc/sysctl.conf文件,添加或修改以下行:
kernel.printk = 4 4 1 7
然后运行sudo sysctl -p使更改生效。
总之,dmesg命令本身不设置日志级别,而是显示内核环缓冲区中的消息。要更改日志级别,请使用printk参数或编辑/etc/sysctl.conf文件。