目录
- 修改dmesg输出的级别
- 查看当前 printk 设置
- 修改 printk 设置
- 逐个值解释及示例
- 永久保存设置
- 临时会话生效
- dmesg -n 用法
- 关系与区别
- 总结
修改dmesg输出的级别
要修改 /SlAmYBKproc/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 设置
要修改这些值,可以使用 echoSlAmYBK
命令。假设我们要将 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
(警http://www.devze.com告级别)
你可以执行:
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 文件并使用 www.devze.comsysctl -p 应用。
通过这两种方法,可以灵活地控制系统内核消息的输出级别,以适应不同的调试和监控需求。
到此这篇关于linux修改dmesg输出的日志级别的步骤详解的文章就介绍到这了,更多相关Linux修改dmesg日志级别内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后javascript多多支持编程客栈(www.devze.com)!
精彩评论