简介
dmesgisusedtoexamineorcontrolthekernelringbuffer.Thedefaultactionistodisplayallmessagesfromthekernelringbuffer.
Linux内核启动时会加载硬件驱动linux怎么看操作系统版本信息,在有新硬件时也会加载驱动,假如想要查看内核的活动,可以使用dmesg命令。
Linux内核日志存贮在一个ring-buffer中,它的大小是固定的,当队列满时linux命令大全,新的消息会覆盖掉最旧的消息。
实际上,在boot阶段,所有的应用还没有启动,syslogd也未启动,这时内核日志是十分重要的信息。
不仅设备初始化日志、内核模块日志,它就会包含一些应用崩溃的相关信息记录,了解dmesg的使用对于调试程序相当重要。
指令dmesg常用设置
dmesg -L # color
dmesg -H # human timestamp
dmesg -T # readable timestamp
dmesg --follow # 持续观察输出
dmesg | tail -10 # 最后10行,当然也可以使用其它管线命令,如more,less,grep
日志级别
使用了以下级别:
emerg: System is unusable.
alert: Action must be taken immediately.
crit: Critical conditions.
err: Error conditions.
warn: Warning conditions.
notice: Normal but significant condition.
info: Informational.
debug: Debug-level messages.
使用dmesg-linfo仅输出info级别的日志,这不包括更高级别的日志。
'dmesg-ldebug,notice’同时输出多种级别的日志。
用户组
dmesg依据用户类别对日志进行了分组:
kern: Kernel messages.
user: User-level messages.
mail: Mail system.
daemon: System daemons.
auth: Security/authorization messages.
syslog: Internal syslogd messages.
lpr: Line printer subsystem.
news: Network news subsystem.
使用`-f(facility)'参数过滤组。
使用-x(decode)参数可以输出包括组和日志级别的信息。
去除旧内容
对于服务器,本操作请慎重使用linux怎么看操作系统版本信息,消除后不会再恢复。
对于嵌入式设备的调试,它会比较清楚地诠释当前的log信息。
dmesg-c
显示并消除当前的日志内容。
上次再dmesg时就没有先前的日志了。
小结
对于驱动、硬件模块等调试人员来说linux 分区,dmesg是一个时常使用的命令。
对于应用程序开发人员来说,它是一个须要把握的调试程序的技能。
它的使用很简单,达到的疗效却很惊人。
参考资料
HowtoUsethedmesgCommandonLinux
LinuxdmesgCommandTutorialforBeginners(5Examples)