linux命令:调试必备工具dmesg

2024-06-03 05:52

本文主要是介绍linux命令:调试必备工具dmesg,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在服务器上进行芯片调试时,我们会遇到各种各样的问题,很多问题与操作系统相关。此时就需要了解操作系统发生了哪些事件。

dmesg 是linux系统中用来打印或控制内核缓冲区内容的命令。这个环形缓冲区记录了系统启动以来发生的各种事件消息,包括系统日志、驱动程序消息、硬件错误、内核警告等。

例如,在系统reboot后,通过dmesg可以看到PCI设备枚举过程、可以检查是否发生了异常。

1、常用命令

运行 dmesg命令而不带任何参数,将打印出环形缓冲区的所有消息。

dmesg -T 显示事件发生的时间

dmesg -C 清除内核环形缓存消息

dmesg -c 读取并清除内核环形缓存消息

dmesg -H 以容易阅读的形式显示消息

dmesg -L  dmesg 会根据消息的类型(如错误、警告、信息等)给输出的消息加上不同的颜色。这样做可以提高可读性,使得用户能够更快地区分和识别消息的严重性和类型。

具体来说,使用 -L 或 --color 选项可能会对以下方面产生影响:

错误消息:通常会以红色显示,以突出显示错误,便于用户立即注意到。

警告消息:可能会以黄色显示,用于提醒用户存在潜在问题。

信息性消息:可能以默认终端颜色显示,用于普通信息的输出。

调试消息:可能会以特定的颜色显示,以便于在调试过程中区分调试信息。

其他类型的消息:根据系统配置和 dmesg 实现,其他类型的消息也可能有特定的颜色。

dmesg -T | grep PCI   

通过grep命令筛选出想查看的信息,例如grep PCI可以筛选出PCI设备枚举过程信息。

2、命令参考

Usage:

 dmesg [options]

Options:

 -C, --clear                 clear the kernel ring buffer

 -c, --read-clear            read and clear all messages

 -D, --console-off           disable printing messages to console

 -d, --show-delta            show time delta between printed messages

 -e, --reltime               show local time and time delta in readable format

 -E, --console-on            enable printing messages to console

 -F, --file <file>           use the file instead of the kernel log buffer

 -f, --facility <list>       restrict output to defined facilities

 -H, --human                 human readable output

 -k, --kernel                display kernel messages

 -L, --color                 colorize messages

 -l, --level <list>          restrict output to defined levels

 -n, --console-level <level> set level of messages printed to console

 -P, --nopager               do not pipe output into a pager

 -r, --raw                   print the raw message buffer

 -S, --syslog                force to use syslog(2) rather than /dev/kmsg

 -s, --buffer-size <size>    buffer size to query the kernel ring buffer

 -T, --ctime                 show human readable timestamp (could be

                               inaccurate if you have used SUSPEND/RESUME)

 -t, --notime                don't print messages timestamp

 -u, --userspace             display userspace messages

 -w, --follow                wait for new messages

 -x, --decode                decode facility and level to readable string

 -h, --help     display this help and exit

 -V, --version  output version information and exit

Supported log facilities:

    kern - kernel messages

    user - random user-level messages

    mail - mail system

  daemon - system daemons

    auth - security/authorization messages

  syslog - messages generated internally by syslogd

     lpr - line printer subsystem

    news - network news subsystem

Supported log levels (priorities):

   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

这篇关于linux命令:调试必备工具dmesg的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026162

相关文章

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon