温馨提示×

dmesg日志级别怎么设置

小樊
35
2025-11-20 07:02:07
栏目: 编程语言

dmesg(display message或者driver message)是Linux下用于显示内核启动信息和运行时状态信息的命令。dmesg的日志级别可以通过以下几种方式进行设置:

1. 使用dmesg命令的-l选项

dmesg命令本身支持通过-l选项来设置日志级别。例如:

dmesg -l 4

这里的4代表KERN_INFO级别,其他级别包括:

  • 0: KERN_EMERG (紧急)
  • 1: KERN_ALERT (警报)
  • 2: KERN_CRIT (严重)
  • 3: KERN_ERR (错误)
  • 4: KERN_WARNING (警告)
  • 5: KERN_NOTICE (通知)
  • 6: KERN_INFO (信息)
  • 7: KERN_DEBUG (调试)

2. 修改内核参数

你也可以通过修改内核参数来永久性地设置dmesg的日志级别。编辑/etc/sysctl.conf文件,添加或修改以下行:

kernel.printk = 4 4 1 7

这里的四个数字分别代表:

  • 当前控制台日志级别
  • 默认消息日志级别
  • 最小控制台日志级别
  • 默认控制台日志大小

修改后,运行以下命令使更改生效:

sysctl -p

3. 使用/proc/sys/kernel/printk

你还可以直接通过读取和写入/proc/sys/kernel/printk文件来临时设置日志级别:

# 查看当前日志级别
cat /proc/sys/kernel/printk

# 设置日志级别为KERN_INFO (4)
echo 4 > /proc/sys/kernel/printk

4. 使用journalctl(适用于systemd)

如果你的系统使用systemd,可以使用journalctl命令来查看和管理日志,并且可以通过-b选项指定启动会话,通过-p选项指定日志级别:

# 查看当前启动会话的所有日志
journalctl -b

# 查看当前启动会话的错误及以上级别的日志
journalctl -b -p err

# 查看当前启动会话的警告及以上级别的日志
journalctl -b -p warn

注意事项

  • 修改内核参数或直接写入/proc/sys/kernel/printk可能会影响系统的稳定性和安全性,请谨慎操作。
  • 在生产环境中,通常建议保持默认的日志级别,以便于排查问题。

通过以上方法,你可以灵活地设置和管理dmesg的日志级别。

0