开发者

Linux修改dmesg输出的日志级别的步骤详解

开发者 https://www.devze.com 2024-08-10 13:14 出处:网络 作者: zclinux_
目录修改dmesg输出的级别查看当前 printk 设置修改 printk 设置逐个值解释及示例永久保存设置临时会话生效dmesg -n 用法关系与区别总结修改dmesg输出的级别
目录
  • 修改dmesg输出的级别
    • 查看当前 printk 设置
    • 修改 printk 设置
    • 逐个值解释及示例
    • 永久保存设置
  • 临时会话生效
    • dmesg -n 用法
    • 关系与区别
  • 总结

    修改dmesg输出的级别

    要修改 /SlAmYBKproc/sys/kernel/printk 文件的内容以更改 dmesg 输出的级别,可以通过命令行进行操作。这个文件包含四个值,分别代表内核消息的不同级别。通过修改这些值,可以控制内核消息的输出级别。

    /proc/sys/kernel/printk 文件中的四个值分别代表:

    1. console_loglevel:控制在控制台上显示的最低消息级别。
    2. default_message_loglevel:新消息的默认级别。
    3. minimum_console_loglevel:控制台上显示的最小消息级别。
    4. 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)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号