Linux 命令(160)—— dmesg 命令
文章目录
- 1.命令简介
- 2.命令格式
- 3.选项说明
- 4.常用示例
- 参考文献
1.命令简介
dmesg(display message)打印或控制内核环形缓冲区。
dmesg 命令用于检查和控制内核的环形缓冲区。Kernel 会将开机信息存储在 ring buffer 中,我们可以从中获得诸如系统架构、CPU、挂载的硬件,RAM 等多个运行级别的大量的系统信息。可利用 dmesg 来查看系统的启动信息。开机信息也会保存在 /var/log/dmesg。
当计算机启动时,系统内核会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。因此我们可以利用 dmesg 进行设备故障的诊断。内核进行硬件的连接或断开连接操作时,在 dmesg 命令的帮助下,我们可以看到硬件的检测或者断开连接的信息。
2.命令格式
dmesg [<options>]
dmesg --clear
dmesg --read-clear [<options>]
dmesg --console-level <level>
dmesg --console-on
dmesg --console-off
3.选项说明
-C, --clear清除内核环形缓冲区(ring butter)。
-c, --read-clear读取并清除所有消息。
-D, --console-off禁止向终端打印消息。-d, --show-delta显示打印消息之间的时间差。-e, --reltime以易读格式显示本地时间和时间差。-E, --console-on启用向终端打印消息。-F, --file <file>用文件代替内核日志缓冲区。-f, --facility <list>将输出限制为定义的设施。-H, --human易读格式输出。-k, --kernel显示内核消息。-L, --color显示彩色消息。-l, --level <list>限制输出级别。-n, --console-level <level>设置打印到终端的消息级别。-P, --nopager不将输出通过管道传递给分页程序。-r, --raw打印原生消息缓冲区。-S, --syslog强制使用系统调用 syslog(2) 而非 /dev/kmsg 去读取内核信息,因为从 kernel 3.5.0 开始,默认使用 /dev/kmsg。-s, --buffer-size <size>查询内核环形缓冲区所用的缓冲区大小。-T, --ctime显示易读的时间戳(如果您使用了 SUSPEND/RESUME 则可能不准)。-t, --notime不打印消息时间戳。-u, --userspace显示用户空间消息。-w, --follow等待新消息。-x, --decode将设施和级别解码为可读的字符串。-h, --help显示此帮助并退出。-V, --version输出版本信息并退出。
4.常用示例
(1)列出加载到内核中的所有驱动。
dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-1160.71.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 28 15:37:28 UTC 2022
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=UUID=4b499d76-769a-40a0-93dc-4a31a59add28 ro net.ifnames=0 biosdevname=0 console=ttyS0,115200 console=tty0 panic=5 crashkernel=2G-8G:256M,8G-16G:512M,16G-:768M intel_idle.max_cstate=1 intel_pstate=disable processor.max_cstate=1 amd_iommu=on iommu=pt LANG=en_US.utf8
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
...
(2)列出所有被检测到的硬件。
比如要显示所有被内核检测到的磁盘设备,你可以使用 grep 命令搜索 sda 关键词。
dmesg | grep sda
[ 3.051454] sd 0:0:0:0: [sda] 209715200 512-byte logical blocks: (107 GB/100 GiB)
[ 3.051559] sd 0:0:0:0: [sda] Write Protect is off
[ 3.051562] sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00
[ 3.051700] sd 0:0:0:0: [sda] Cache data unavailable
[ 3.051702] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 3.053408] sda: sda1 sda2 sda3
[ 3.054299] sd 0:0:0:0: [sda] Attached SCSI disk
[ 3.558354] XFS (sda3): Mounting V5 Filesystem
[ 4.188185] XFS (sda3): Ending clean mount
[ 12.636995] Adding 4194300k swap on /dev/sda2. Priority:-1 extents:1 across:4194300k FS
[ 12.922553] XFS (sda1): Mounting V5 Filesystem
[ 14.708567] XFS (sda1): Ending clean mount
(3)搜索包含特定字符串的被检测到的硬件。
由于 dmesg 命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含 ‘usb’ ‘dma’ ‘tty’ ‘memory’ 等字符串的日志行。grep 命令 的 ‘-i’ 选项表示忽略大小写。
dmesg | grep -i usb
dmesg | grep -i dma
dmesg | grep -i tty
dmesg | grep -i memory
(4)清空 dmesg 缓冲区日志。
dmesg -c
我们可以使用如下命令来清空 dmesg 的日志。该命令会清空 dmesg 环形缓冲区中的日志。但是你依然可以查看存储在 /var/log/dmesg 文件中的日志。你连接任何的设备都会产生 dmesg 日志输出。
(5)实时监控 dmesg 日志输出。
tail -f /var/log/dmesg
或者
watch "dmesg | tail"
参考文献
dmesg(1) - Linux manual page - man7.org
Linux 命令(160)—— dmesg 命令相关推荐
- linux dmesg信息哪来的,linux中的dmesg命令简介
今天, 我们来介绍一个linux中的dmesg命令,事实上, 我们之前用过, 但是没有单独介绍过. 看一下dmesg命令的用途吧: dmesg命令用会把开机信息存到ring bufer中, 形成一个缓 ...
- Linux日常运维管理技巧(四)文件同步工具-rsync、Linux系统日志、dmesg命令、lastb命令查看登录失败的用户、screen工具虚拟屏幕
目录 Linux文件同步工具-rsync Linux系统日志 dmesg命令 lastb命令 screen工具 Linux文件同步工具-rsync rsync命令是一个远程数据同步工具,可通过LAN/ ...
- linux命令 dmesg_如何在Linux上使用dmesg命令
linux命令 dmesg Fatmawati Achmad Zaenuri/Shutterstock Fatmawati Achmad Zaenuri / Shutterstock The dmes ...
- 图解Linux命令之--dmesg命令
dmesg命令-->用来显示开机信息, kernel会将开机信息存储在ring buffer中.开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log/dmesg [dm ...
- 如何在 Linux 上使用 dmesg 命令
看到一篇讲解 dmesg 很好的英文文章,这里翻译一下,以下是译文. dmesg 命令可以让你更深入的了解 Linux 启动的潜在过程,可以从内核的环形缓冲区(ring buffer)查看并监视硬件设 ...
- linux系统dmesg日志,Linux系统中dmesg命令使用详解
Linux数据中心服务器一般很少被黑.但也有出故障的时候,没有十全十美的,当服务器连接到网络时,你永远不知道什么时候会出现问题,会出现什么样问题.当不可避免出现了错误的时,您应该知道如何解决问题,以及 ...
- 在dmesg中打印_讲解Linux下的Dmesg命令:格式化及过滤dmesg输出、清除环形缓冲区...
在本文中,我们将介绍Linux下dmesg命令的基础知识.Linux内核是操作系统的核心,它控制对系统资源(例如CPU.I/O设备.物理内存和文件系统)的访问,在引导过程中以及系统运行时,内核会将各种 ...
- 【Linux】Linux下的dmesg命令
在嵌入式Linux的开发过程或桌面端Linux发行版的使用过程中我们经常使用dmesg这一命令进行Linux内核日志的打印. dmesg 是通过读取kernel中ring buffer的数据,然后将其 ...
- Linux命令之dmesg命令
一.命令简介 Linux dmesg(英文全称:display message)命令用于显示开机信息.kernel 会将开机信息存储在 ring buffer 中.您若是开机时来不及查看信息,可利 ...
- 【Linux】一步一步学Linux——dmesg命令(74)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dmesg命令被用于检查和控制内核的环形缓冲区.kerne ...
最新文章
- 客快物流大数据项目(十四):DockerFile介绍与构建过程解析
- stm32实际运用中遇到的问题
- 影子卫士和影子系统哪个好用_门店管理营销系统哪个好用,营销系统排名
- 集群(三)——haproxy+nginx搭建web集群
- Mapreduce自定义数据类型
- Error starting static Resources caused by project facet
- OpenSSL漏洞补救办法详解(转)
- 8、play框架中持久层操作
- java判断tcp是否阻塞_connect()调用在TCP堆栈中是非阻塞的(java)是什么意思
- 浅谈HR谈薪水的技巧
- 分布式内存文件系统Alluxio
- Bootstrap 输入框组中控件的尺寸
- 精通RPM之--制作篇(rpmbuild)
- Shell学习:关于替换命令-tr-ROT13法则
- WinCE6.0+ S3C6410 IIC驱动源码学习
- 小黑相关预搞书籍杂志等
- pyqt5转pyqt6需要注意的事项
- python写Bicubic方法,跑数据集Set5和Set14,保存PSNR和SSIM的值
- 用户体验设计师(UE)职务描述。
- 自定义notepad++ --添加插件SourceCookifier
热门文章
- android videoview 播放之前短暂黑屏
- 在线客服系统模式提高效率
- 怎么把pdf转换成word?介绍两种方法
- 202109335卢滕阳第一周
- Pycharm、IDEA、WebStorm 工具使用过程中出现 Server‘s certificate is not trusted 提示框的问题
- 【ppt幻灯片制作】Focusky教程 | 交互触发器– 点击式触发器实例
- [笔记]python对FASTA文件的处理
- 事件冒泡机制和如何阻止冒泡
- 最长公共子序列c++实现
- rust腐蚀 木制窗户怎么修_腐蚀RUST一些实用技巧介绍