Linux修改dmesg输出的日志级别的步骤详解
作者:zclinux_
修改dmesg输出的级别
要修改 /proc/sys/kernel/printk
文件的内容以更改 dmesg 输出的级别,可以通过命令行进行操作。这个文件包含四个值,分别代表内核消息的不同级别。通过修改这些值,可以控制内核消息的输出级别。
/proc/sys/kernel/printk
文件中的四个值分别代表:
console_loglevel
:控制在控制台上显示的最低消息级别。default_message_loglevel
:新消息的默认级别。minimum_console_loglevel
:控制台上显示的最小消息级别。default_console_loglevel
:控制台上显示的默认消息级别。
以下是如何查看和修改这些值的步骤:
查看当前 printk 设置
cat /proc/sys/kernel/printk
这会输出四个值,例如:
7 4 1 7
修改 printk 设置
要修改这些值,可以使用 echo
命令。假设我们要将 console_loglevel
修改为 4
(默认显示警告级别及以上的消息),可以执行以下命令:
echo "4 4 1 7" > /proc/sys/kernel/printk
逐个值解释及示例
假设你想要以下配置:
console_loglevel
设置为3
(只显示错误信息)default_message_loglevel
设置为4
(新消息的默认级别为警告)minimum_console_loglevel
保持为1
(紧急消息)default_console_loglevel
设置为4
(警告级别)
你可以执行:
echo "3 4 1 4" > /proc/sys/kernel/printk
永久保存设置
这些更改在系统重启后将恢复默认。要使其永久生效,可以将修改添加到 /etc/sysctl.conf
文件中:
编辑 /etc/sysctl.conf
文件:
sudo nano /etc/sysctl.conf
添加以下行:
kernel.printk = 3 4 1 4
保存并关闭文件。然后执行以下命令以应用更改:
sudo sysctl -p
这样可以确保在每次系统启动时都应用这些设置。
临时会话生效
dmesg -n
命令用于设置当前会话中内核消息的日志级别(console_loglevel)。这会影响通过 dmesg
命令查看的内核消息的详细程度。
dmesg -n 用法
dmesg -n
命令的格式如下:
dmesg -n <level>
其中 <level>
是一个数字,表示消息的日志级别。常用的日志级别如下:
- 0 (KERN_EMERG): 紧急情况,系统不可用
- 1 (KERN_ALERT): 需要立即采取措施
- 2 (KERN_CRIT): 严重情况
- 3 (KERN_ERR): 错误
- 4 (KERN_WARNING): 警告
- 5 (KERN_NOTICE): 正常但需要注意的情况
- 6 (KERN_INFO): 信息
- 7 (KERN_DEBUG): 调试消息
例如,要将内核消息级别设置为仅显示错误及以上的消息,可以使用:
dmesg -n 3
关系与区别
dmesg -n
命令实际修改的是 /proc/sys/kernel/printk
文件中的 console_loglevel
值。使用 dmesg -n
修改日志级别相当于使用 echo
命令修改 /proc/sys/kernel/printk
中的第一个值。例如:
dmesg -n 3
相当于:
echo "3 4 1 7" > /proc/sys/kernel/printk
假设其他值保持不变。
总结
- dmesg -n 命令仅影响当前会话内核消息的日志级别。
- 修改 /proc/sys/kernel/printk 文件可以通过 echo 命令直接进行,影响立即生效。
- 要使这些设置永久生效,应将其写入 /etc/sysctl.conf 文件并使用 sysctl -p 应用。
通过这两种方法,可以灵活地控制系统内核消息的输出级别,以适应不同的调试和监控需求。
到此这篇关于Linux修改dmesg输出的日志级别的步骤详解的文章就介绍到这了,更多相关Linux修改dmesg日志级别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!