当前位置: 首页 > 科技观察

Linux下dmesg命令处理故障和收集系统信息的7种用法

时间:2023-03-12 06:48:14 科技观察

Linux下dmesg命令的7种用法处理故障和收集大量系统信息的系统信息层。当计算机启动时,系统内核(操作系统的核心部分)被加载到内存中。在加载过程中,会显示很多信息,在这些信息中我们可以看到内核检测到硬件设备。使用dmesg命令的示例'dmesg'命令对于设备故障的诊断非常重要。当硬件通过'dmesg'命令连接或断开连接时,我们可以看到硬件检测或断开连接的信息。大多数基于Linux和Unix的操作系统都提供“dmesg”命令。下面我们展示了一些最著名的“dmesg”命令工具及其实际使用示例。'dmesg'命令的使用语法如下。#dmesg[选项...]1。要列出加载到内核中的所有驱动程序,我们可以使用例如“more”。“tail”、“less”或“grep”字处理工具,用于处理“dmesg”命令的输出。由于dmesg日志的输出不适合一页,我们使用管道将其输出发送到more或less命令进行单页显示。[root@tecmint.com~]#dmesg|更多[root@tecmint.com~]#dmesg|less输出[0.000000]初始化cgroup子系统cpuset[0.000000]初始化cgroup子系统cpu[0.000000]初始化cgroup子系统cpuacct[0.000000]Linux版本3.11.0-13-generic(buildd@aatxe)(gcc版本4.8.1(Ubuntu/Linaro4.8.1-10ubuntu8))#20-UbuntuSMPWedOct2317:26:33UTC2013(Ubuntu3.11.0-13.20-generic3.11.6)[0.000000]内核支持cpus:[0.000000]IntelGenuineIntel[0.000000]NSC[0.000000]CyrixCyrixInstead[0.000000]CentaurCentaurhauls[0.000000]TransmetaeneyInetmx86[0.000000]TransMeta]BIOS-e820:[mem0x0000000000000000-0x000000000009fbff]可用[0.000000]BIOS-e820:[mem0x00000000000f0000-0x00000000000fffff]保留[0.000000]BIOS[-e820]mem0x0000000000100000-0x000000007dc08bff]usable[0.000000]BIOS-e820:[mem0x000000007dc08c00-0x000000007dc5cbff]ACPINVS[0.000000]BIOS-e820:[mem0x000000007dc5cc00-0x000000007dc5ebff]ACPIdata[0.000000]BIOS-e820:[mem0x000000007dc5ec00-0x000000007fffffff]reserved[0.000000]BIOS-E820:[MEM0x00000000EE00000-0X0000000000FFFFF]保留[0.000000]BIOS-E820:[MEM0x000000000000000000000000000000000000000000000000FED00003FF]保留mem0x00000000fee00000-0x00000000feeffffff]reserved[0.000000]BIOS-e820:[mem0x00000000ffb00000-0x00000000ffffffff]所有检测到的硬件都列在NX(执行禁用)保护中......2。内核检测到的硬盘设备,可以使用'grep'命令搜索'sda'关键字,如下:[root@tecmint.com~]#dmesg|grepsda[1.280971]sd2:0:0:0:[sda]488281250512字节逻辑块:(250GB/232GiB)[1.281014]sd2:0:0:0:[sda]写保护关闭[1.281016]sd2:0:0:0:[sda]模式检测:003a0000[1.281039]sd2:0:0:0:[sda]写缓存:已启用,读取缓存:已启用,不支持DPO或FUA[1.359585]sda:sda1sda2[1.360052]sd2:0:0:0:[sda]AttachedSCSIdisk[2.347887]EXT4-fs(sda1):以有序数据模式挂载的文件系统。选项:(null)[22.928440]在/dev/sda6上添加3905532k交换。优先级:-1extents:1across:3905532kFS[23.9505-fs(sda1):重新安装。Opts:errors=remount-ro[24.134016]EXT4-fs(sda5):以有序数据模式挂载的文件系统。Opts:(null)[24.330762]EXT4-fs(sda7):以有序数据模式挂载的文件系统。Opts:(null)[24.561015]EXT4-fs(sda8):以有序数据模式挂载的文件系统。Opts:(null)注意'sda'表示第一个SATA硬盘,'sdb'表示第2个SATA硬盘如果要查看IDE硬盘,搜索'hda'或'hdb'关键字。3.只输出dmesg命令的前20行。按照“dmesg”命令后的“head”命令显示前几行,然后“dmesg|head-20'命令将显示前20行。[root@tecmint.com~]#dmesg|head-20[0.000000]正在初始化cgroup子系统cpuset[0.000000]正在初始化cgroup子系统cpu[0.000000]正在初始化cgroup子系统cpuacct[0.000000]Linux版本3.11.0-13-generic(buildd@aatxe)(gcc版本4.8.1(Ubuntu/Linaro4.8.1-10ubuntu8))#20-UbuntuSMPWedOct2317:26:33UTC2013(Ubuntu3.11.0-13.20-generic3.11.6)[0.000000]内核支持cpus:[0.000000]IntelGenuineIntel[0.000000NSC[0.000000]AMDAUTHENTICAMD[0.000000]NSCGEODE??CYRIXCYRIXINSTEAD[0.000000]CENTAURCENTAURHAULS[0.000000]TRANSMETAtransmetafeenInetmx86[0.000000]Transmeta0.000000]BIOS-E820:[MEM0X000000000000000000-0X00000000000009FBFF]可用[0.000000]BIOS-E820:[MEM0X000000000000000000-0X00000000000000000000000FFFFFF]保留0007dc08bff]usable[0.000000]BIOS-e820:[mem0x000000007dc08c00-0x000000007dc5cbff]ACPINVS[0.000000]BIOS-e820:[mem0x000000007dc5cc00-0x000000007dc5ebff]ACPIdata[0.000000]BIOS-e820:[mem0x000000007dc5ec00-0x000000007fffffff]reserved4.只输出dmesgcommand***20linesoflog在'dmesg'命令后跟随'tail'命令('dmesg|tail-20')输出'dmesg'命令的***20行日志,当您插入可移动设备非常有用[root@tecmint.com~]#dmesg|tail-20parport0:0x378处的PC样式,irq7[PCSPP,TRISTATE]ppdev:用户空间并行端口驱动程序EXT4-fs(sda1):使用有序数据模式挂载的文件系统在/dev/sda2上添加2097144k交换。优先级:-1extents:1across:2097144kreadahead-disable-service:delayingserviceauditdip_tables:(C)2000-2006NetfilterCoreTeamnf_conntrackversion0.5.0(16384buckets,65536max)NET:Registeredprotocolfamily10lo:DisabledPrivacyExtensionse1000:eth0NIC链接已启动1000Mbps全双工,流量控制:无慢速工作线程池:正在启动慢速工作线程池:ReadyFS-Cache:LoadedCacheFiles:LoadedCacheFiles:安全拒绝指定安全上下文的权限:错误-95eth0:没有IPv6路由器presenttype=1305audit(1398268784.593:18630):audit_enabled=0old=1auid=4294967295ses=4294967295res=1readahead-collector:启动延迟服务auditdreadahead-collector:sortingreadahead-collector:finished5.搜索包包含特定字符串的检测到的硬件由于“dmesg”命令的输出太长,很难在??其中搜索特定的字符串。因此,需要过滤掉一些包含'usb''dma''tty''memory'等字符串的日志行。grep命令的'-i'选项表示忽略大小写。[root@tecmint.com日志]#dmesg|grep-iusb[root@tecmint.com日志]#dmesg|grep-idma[root@tecmint.com日志]#dmesg|grep-itty[root@tecmint.com日志]#dmesg|grep-imemory输出[0.000000]扫描1个低内存损坏区域[0.000000]初始内存映射:[mem0x00000000-0x01ffffff][0.000000]基本内存蹦床在[c009b000]9b000大小16384[0.000000]0x00m-00ping_memory_0[0x000m-0]0x000fffff][0.000000]init_memory_mapping:[mem0x37800000-0x379fffff][0.000000]init_memory_mapping:[mem0x34000000-0x377fffff][0.000000]init_memory_mapping:[mem0x00100000-0x33ffffff][0.000000]init_memory_mapping:[mem0x37a00000-0x37bfdfff][0.000000]Early内存节点范围[0.000000]PM:注册的nosave内存:[mem0x0009f000-0x000effff][0.000000]PM:注册的nosave内存:[mem0x000f0000-0x000fffff][0.000000]如果你不想,请尝试'cgroup_disable=memory'选项内存cgroups[0.000000]内存:2003288K/2059928K可用(6352K内核代码,607Krwdata,2640Krodata,880Kinit,908Kbss,56640K保留,1146920Khighmem)[0.000000]虚拟内核内存布局:[0.004291]初始化cgroup0.04sub内存[0.004291]内存[0.004291]释放SMP替代内存:28K(c1a3e000-c1a45000)[0.899622]释放initrd内存:23616K(f51d0000-f68e0000)[0.899813]每60秒扫描一次低内存损坏[0.946323]agpgart-intel0000.080:0检测到7被盗内存[1.♂318]释放未使用的内核内存:880K(c1962000-c1a3e000)[1.429066][drm]图形设备可用的内存=2048M6。要清除dmesg缓冲区日志,我们可以使用以下命令清除dmesg日志。该命令将清除dmesg环形缓冲区中的日志。但是您仍然可以查看存储在“/var/log/dmesg”文件中的日志。您连接的任何设备都会生成dmesg日志输出。[root@tecmint.com日志]#dmesg-c7.实时监控dmesg日志输出在某些发行版中,您可以使用命令'tail-f/var/log/dmesg'实时监控dmesg日志输出。[root@tecmint.comlog]#watch"dmesg|tail-20"结论:dmesg命令在系统dmesg记录被实时更改或生成时非常有用。您可以使用mandmesg获取有关dmesg的更多信息。via:http://www.tecmint.com/dmesg-commands/译者:cvsher校对:Caroline翻译链接:http://linux.cn/article-3587-1.html