精华内容
下载资源
问答
  • dmesg_exporter 一个导出器,它从收集度量。 用法 dmesg_exporter [OPTIONS] start [start-OPTIONS] Help Options: -h, --help Show this help message [start command options] --path= path to serve metrics ...
  • Linux dmesg命令 Linux dmesg命令用于显示开机信息。 kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。 语法dmesg ...
  • dmesg

    2020-04-07 16:33:44
    dmesg是一个二进制可执行程序,我们可以在 adb shell 执行它,例如: adb shell dmesg 上述命令会将整个 Log Buffer 从头到尾 dump 到输出设备,然后就退出了。它不会操作读指针,它只根据写指针把从最旧的 log 到...

    前面 kmsg 的章节讲述了通过 /proc/kmsg 访问 Kernel log buffer 的方式,其主要限制是不能有多读者,即不能多个程序同时访问 Kernel Log Buffer,否则每一个访问程序得到的结果都是不完整的。

    但有些时候我们可能并不知道系统里面有哪些后台进程在读取 Kernel Log Buffer,这个时候我们如何获取到可信的 Kernel Log呢?

    系统(Android 或者大多数 Linux 发行版)里面还有另外一个工具,dmesg。dmesg是一个二进制可执行程序,我们可以在 adb shell 执行它,例如:

    adb shell dmesg

    上述命令会将整个 Log Buffer 从头到尾 dump 到输出设备,然后就退出了。它不会操作读指针,它只根据写指针把从最旧的 log 到最新的 log 完完整整的输出来。所以这种方式也不会受到其它 Log Buffer 读者的影响。

    dmesg 的输出与 /proc/kmsg 的输出是一致的,区别是 dmesg dump 完 Kernel Log Buffer 就直接退出了。如下是 dmesg 的输出。

    应用场景

    dmesg 的使用场景与 /proc/kmsg 的场景是大致相同的,同样,不适合调试 Kernel BUG,当 Kernel 出现 BUG 的时候 dmesg 作为 user space 程序首先就无法正常执行了,所以没办法录取到有效的 log 来分析问题。

    其适用的场合主要是跟踪调试内核的逻辑,或者监测硬件模块的内核行为等等。

    dmesg 会完完整整的 dump 一次 Kernel Log Buffer,所以不会丢失掉任何的 Log。

    使用限制

    使用 dmesg 来获取 Kernel Log 也有一些限制,如下:

    1. dmesg 只会一次性 dump Kernel log buffer,所以只能得到当下的 log 部分,由于 Log buffer 的大小是有限制的,在很短的时间内就可能把旧的 Log 覆盖掉,所以有可能来不及抓到旧的部分,如果 Log 量比较大,那么能够抓到的 Log 时间就很短了。所以不适合 Log 量比较大的情况,也不适合长时间跟踪内核行为。
    2. dmesg 的执行需要有 root 权限才行。所以 Android user 版本是无法使用这个工具的。

    如果需要长时间录取 Log,那就需要访问 /proc/kmsg 的方式。

    编者按

    此方式并不仅仅限于 Android 系统,绝大多数的 Linux 发行版都内置了这个应用程序。所以大多数采用 Linux 内核的系统都可以使用此工具。

    展开全文
  • dmesg_with_pr_info_add_file_function.log dmesg_with_pr_info_add_file_function.log
  • 图形化监视前端,用于监视dmesg,lsusb,其他日志文件或调试程序的输出,并在Linux系统上显示带尾的输出窗口。 用Gambas3编写,其源代码可在下载页面上找到。 该项目已获得GPLv3许可,因此如果有人想学习Gambas3,...
  • dmesg用法详解

    2020-08-05 17:19:03
    dmesg 命令的使用范例 ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作...

    dmesg 命令的使用范例

    ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作系统中都可以使用。

    dmesg可以打印你在内核中加的printk

    ‘dmesg’命令的使用语法如下

    dmesg [options…]

    1. 列出加载到内核中的所有驱动

    我们可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more或者less命令单页显示。

    [root@tecmint.com ~]# dmesg | more
    
    [root@tecmint.com ~]# dmesg | less
    

    输出

    [    0.000000] Initializing cgroup subsys cpuset
    
    [    0.000000] Initializing cgroup subsys cpu
    
    [    0.000000] Initializing cgroup subsys cpuacct
    
    [    0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 
    
    (Ubuntu 3.11.0-13.20-generic 3.11.6)
    
    [    0.000000] KERNEL supported cpus:
    
    [    0.000000]   Intel GenuineIntel
    
    [    0.000000]   AMD AuthenticAMD
    
    [    0.000000]   NSC Geode by NSC
    
    [    0.000000]   Cyrix CyrixInstead
    
    [    0.000000]   Centaur CentaurHauls
    
    [    0.000000]   Transmeta GenuineTMx86
    
    [    0.000000]   Transmeta TransmetaCPU
    
    [    0.000000]   UMC UMC UMC UMC
    
    [    0.000000] e820: BIOS-provided physical RAM map:
    
    [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
    
    [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
    
    [    0.000000] NX (Execute Disable) protection: active
    

    2. 列出所有被检测到的硬件

    要显示所有被内核检测到的硬盘设备,你可以使用‘grep’命令搜索‘sda’关键词,如下:

    [root@tecmint.com ~]# dmesg | grep sda
    
    [    1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
    
    [    1.281014] sd 2:0:0:0: [sda] Write Protect is off
    
    [    1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
    
    [    1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    
    [    1.359585]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
    
    [    1.360052] sd 2:0:0:0: [sda] Attached SCSI disk
    
    [    2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    
    [   22.928440] Adding 3905532k swap on /dev/sda6.  Priority:-1 extents:1 across:3905532k FS
    
    [   23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
    
    [   24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)
    
    [   24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)
    
    [   24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null)
    

    注解 ‘sda’表示第一块 SATA硬盘,‘sdb’表示第二块SATA硬盘。若想查看IDE硬盘搜索‘hda’或‘hdb’关键词。

    3. 只输出dmesg命令的前20行日志

    在‘dmesg’命令后跟随‘head’命令来显示开始几行,‘dmesg | head -20′命令将显示开始的前20行。

    [root@tecmint.com ~]# dmesg | head  -20
    
    [    0.000000] Initializing cgroup subsys cpuset
    
    [    0.000000] Initializing cgroup subsys cpu
    
    [    0.000000] Initializing cgroup subsys cpuacct
    
    [    0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6)
    
    [    0.000000] KERNEL supported cpus:
    
    [    0.000000]   Intel GenuineIntel
    
    [    0.000000]   AMD AuthenticAMD
    
    [    0.000000]   NSC Geode by NSC
    
    [    0.000000]   Cyrix CyrixInstead
    
    [    0.000000]   Centaur CentaurHauls
    
    [    0.000000]   Transmeta GenuineTMx86
    
    [    0.000000]   Transmeta TransmetaCPU
    
    [    0.000000]   UMC UMC UMC UMC
    
    [    0.000000] e820: BIOS-provided physical RAM map:
    
    [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
    
    [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
    
    [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
    
    [    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved
    

    4. 只输出dmesg命令最后20行日志

    在‘dmesg’命令后跟随‘tail’命令(‘ dmesg | tail -20’)来输出‘dmesg’命令的最后20行日志,当你插入可移动设备时它是非常有用的。

    [root@tecmint.com ~]# dmesg | tail -20
    
    parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
    
    ppdev: user-space parallel port driver
    
    EXT4-fs (sda1): mounted filesystem with ordered data mode
    
    Adding 2097144k swap on /dev/sda2.  Priority:-1 extents:1 across:2097144k
    
    readahead-disable-service: delaying service auditd
    
    ip_tables: (C) 2000-2006 Netfilter Core Team
    
    nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
    
    NET: Registered protocol family 10
    
    lo: Disabled Privacy Extensions
    
    e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
    
    Slow work thread pool: Starting up
    
    Slow work thread pool: Ready
    
    FS-Cache: Loaded
    
    CacheFiles: Loaded
    
    CacheFiles: Security denies permission to nominate security context: error -95
    
    eth0: no IPv6 routers present
    
    type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1
    
    readahead-collector: starting delayed service auditd
    
    readahead-collector: sorting
    
    readahead-collector: finished
    

    5. 搜索包含特定字符串的被检测到的硬件

    由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令 的‘-i’选项表示忽略大小写。

    [root@tecmint.com log]# dmesg | grep -i usb
    
    [root@tecmint.com log]# dmesg | grep -i dma
    
    [root@tecmint.com log]# dmesg | grep -i tty
    
    [root@tecmint.com log]# dmesg | grep -i memory
    

    输出

    [    0.000000] Scanning 1 areas for low memory corruption
    
    [    0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff]
    
    [    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384
    
    [    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
    
    [    0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff]
    
    [    0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff]
    
    [    0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff]
    
    [    0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff]
    
    [    0.000000] Early memory node ranges
    
    [    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff]
    
    [    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
    
    [    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    
    [    0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem)
    
    [    0.000000] virtual kernel memory layout:
    
    [    0.004291] Initializing cgroup subsys memory
    
    [    0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000)
    
    [    0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000)
    
    [    0.899813] Scanning for low memory corruption every 60 seconds
    
    [    0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory
    
    [    1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000)
    
    [    1.429066] [drm] Memory usable by graphics device = 2048M
    

    6. 清空dmesg缓冲区日志

    我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。

    [root@tecmint.com log]# dmesg -c
    

    7. 实时监控dmesg日志输出

    在某些发行版中可以使用命令‘tail -f /var/log/dmesg’来实时监控dmesg的日志输出。

    [root@tecmint.com log]# watch "dmesg | tail -20"
    

    结论:dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取更多关于dmesg的信息。

    参考

    https://www.cnblogs.com/zhaoxuguang/p/7810651.html

    展开全文
  • dmesg 命令的使用范例 ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作...

    目录

    1. 列出加载到内核中的所有驱动

    2. 列出所有被检测到的硬件

    3. 只输出dmesg命令的前20行日志

    4. 只输出dmesg命令最后20行日志

    5. 搜索包含特定字符串的被检测到的硬件

    6. 清空dmesg缓冲区日志

    7. 实时监控dmesg日志输出


    dmesg 命令的使用范例

    ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于LinuxUnix的操作系统中都可以使用。

    下面我们展示一些最负盛名的‘dmesg’命令工具以及其实际使用举例。‘dmesg’命令的使用语法如下。

    # dmesg [options...]

     

    1. 列出加载到内核中的所有驱动

    我们可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more或者less命令单页显示。

    [root@tecmint.com ~]# dmesg | more

    [root@tecmint.com ~]# dmesg | less

    输出

    [    0.000000] Initializing cgroup subsys cpuset

    [    0.000000] Initializing cgroup subsys cpu

    [    0.000000] Initializing cgroup subsys cpuacct

    [    0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 

    (Ubuntu 3.11.0-13.20-generic 3.11.6)

    [    0.000000] KERNEL supported cpus:

    [    0.000000]   Intel GenuineIntel

    [    0.000000]   AMD AuthenticAMD

    [    0.000000]   NSC Geode by NSC

    [    0.000000]   Cyrix CyrixInstead

    [    0.000000]   Centaur CentaurHauls

    [    0.000000]   Transmeta GenuineTMx86

    [    0.000000]   Transmeta TransmetaCPU

    [    0.000000]   UMC UMC UMC UMC

    [    0.000000] e820: BIOS-provided physical RAM map:

    [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable

    [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved

    [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable

    [    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS

    [    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data

    [    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved

    [    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved

    [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved

    [    0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved

    [    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved

    [    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved

    [    0.000000] NX (Execute Disable) protection: active

    .....

     

    2. 列出所有被检测到的硬件

    要显示所有被内核检测到的硬盘设备,你可以使用‘grep’命令搜索‘sda’关键词,如下:

    [root@tecmint.com ~]# dmesg | grep sda

     

    [    1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)

    [    1.281014] sd 2:0:0:0: [sda] Write Protect is off

    [    1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00

    [    1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

    [    1.359585]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 >

    [    1.360052] sd 2:0:0:0: [sda] Attached SCSI disk

    [    2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

    [   22.928440] Adding 3905532k swap on /dev/sda6.  Priority:-1 extents:1 across:3905532k FS

    [   23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro

    [   24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)

    [   24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)

    [   24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null)

    注解 ‘sda’表示第一块 SATA硬盘,‘sdb’表示第二块SATA硬盘。若想查看IDE硬盘搜索‘hda’或‘hdb’关键词。

     

    3. 只输出dmesg命令的前20行日志

    在‘dmesg’命令后跟随‘head’命令来显示开始几行,‘dmesg | head -20′命令将显示开始的前20行。

    [root@tecmint.com ~]# dmesg | head  -20

     

    [    0.000000] Initializing cgroup subsys cpuset

    [    0.000000] Initializing cgroup subsys cpu

    [    0.000000] Initializing cgroup subsys cpuacct

    [    0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6)

    [    0.000000] KERNEL supported cpus:

    [    0.000000]   Intel GenuineIntel

    [    0.000000]   AMD AuthenticAMD

    [    0.000000]   NSC Geode by NSC

    [    0.000000]   Cyrix CyrixInstead

    [    0.000000]   Centaur CentaurHauls

    [    0.000000]   Transmeta GenuineTMx86

    [    0.000000]   Transmeta TransmetaCPU

    [    0.000000]   UMC UMC UMC UMC

    [    0.000000] e820: BIOS-provided physical RAM map:

    [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable

    [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved

    [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable

    [    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS

    [    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data

    [    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved

     

    4. 只输出dmesg命令最后20行日志

    在‘dmesg’命令后跟随‘tail’命令(‘ dmesg | tail -20’)来输出‘dmesg’命令的最后20行日志,当你插入可移动设备时它是非常有用的。

    [root@tecmint.com ~]# dmesg | tail -20

     

    parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]

    ppdev: user-space parallel port driver

    EXT4-fs (sda1): mounted filesystem with ordered data mode

    Adding 2097144k swap on /dev/sda2.  Priority:-1 extents:1 across:2097144k

    readahead-disable-service: delaying service auditd

    ip_tables: (C) 2000-2006 Netfilter Core Team

    nf_conntrack version 0.5.0 (16384 buckets, 65536 max)

    NET: Registered protocol family 10

    lo: Disabled Privacy Extensions

    e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

    Slow work thread pool: Starting up

    Slow work thread pool: Ready

    FS-Cache: Loaded

    CacheFiles: Loaded

    CacheFiles: Security denies permission to nominate security context: error -95

    eth0: no IPv6 routers present

    type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1

    readahead-collector: starting delayed service auditd

    readahead-collector: sorting

    readahead-collector: finished

     

    5. 搜索包含特定字符串的被检测到的硬件

    由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令 的‘-i’选项表示忽略大小写。

    [root@tecmint.com log]# dmesg | grep -i usb

    [root@tecmint.com log]# dmesg | grep -i dma

    [root@tecmint.com log]# dmesg | grep -i tty

    [root@tecmint.com log]# dmesg | grep -i memory

    输出

    [    0.000000] Scanning 1 areas for low memory corruption

    [    0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff]

    [    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384

    [    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]

    [    0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff]

    [    0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff]

    [    0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff]

    [    0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff]

    [    0.000000] Early memory node ranges

    [    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff]

    [    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]

    [    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups

    [    0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem)

    [    0.000000] virtual kernel memory layout:

    [    0.004291] Initializing cgroup subsys memory

    [    0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000)

    [    0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000)

    [    0.899813] Scanning for low memory corruption every 60 seconds

    [    0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory

    [    1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000)

    [    1.429066] [drm] Memory usable by graphics device = 2048M

     

    6. 清空dmesg缓冲区日志

    我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。

    [root@tecmint.com log]# dmesg -c

     

    7. 实时监控dmesg日志输出

    在某些发行版中可以使用命令‘tail -f /var/log/dmesg’来实时监控dmesg的日志输出。

    [root@tecmint.com log]# watch "dmesg | tail -20"

    结论:dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取更多关于dmesg的信息。

     

     

    展开全文
  • linux命令 dmesgFatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / Shutterstock The dmesg command lets you peer into the hidden world of the Linux startup processes. Review and monitor ...
    linux命令 dmesg

    linux命令 dmesg

    A stylized terminal prompt on a Linux laptop.
    Fatmawati Achmad Zaenuri/Shutterstock Fatmawati Achmad Zaenuri / Shutterstock

    The dmesg command lets you peer into the hidden world of the Linux startup processes. Review and monitor hardware device and driver messages from the kernel’s own ring buffer with “the fault finder’s friend.”

    dmesg命令可让您了解Linux启动过程的隐藏世界。 与“故障查找者的朋友”一起查看和监视来自内核自己的环形缓冲区的硬件设备和驱动程序消息。

    Linux的环形缓冲区如何工作 (How Linux’s Ring Buffer Works)

    In Linux and Unix-like computers, booting and startup are two distinct phases of the sequence of events that take place when the computer is powered on.

    在Linux和类似Unix的计算机中,启动和启动是计算机开机时发生的事件序列的两个不同阶段。

    The boot processes (BIOS or UEFI, MBR, and GRUB) take the initialization of the system to the point where the kernel is loaded into memory and connected to the initial ramdisk (initrd or initramfs), and systemd is started.

    引导过程 ( BIOSUEFIMBRGRUB )将系统初始化到将内核加载到内存并连接到初始ramdisk( initrd或initramfs )的位置,然后启动systemd

    The startup processes then pick up the baton and complete the initialization of the operating system. In the very early stages of initialization, logging daemons such as syslogd or rsyslogd are not yet up and running. To avoid losing notable error messages and warnings from this phase of initialization, the kernel contains a ring buffer that it uses as a message store.

    然后, 启动过程将接力棒并完成操作系统的初始化。 在初始化的早期阶段,诸如syslogdrsyslogd之类的日志记录守护程序尚未启动并运行。 为了避免在初始化的此阶段丢失明显的错误消息和警告,内核包含一个环形缓冲区 ,该缓冲区用作消息存储。

    A ring buffer is a memory space reserved for messages. It is simple in design, and of a fixed size. When it is full, newer messages overwrite the oldest messages. Conceptually it can be thought of as a “circular buffer.”

    环形缓冲区是为消息保留的存储空间。 它设计简单,尺寸固定。 满时,较新的消息将覆盖最早的消息。 从概念上讲,它可以被视为“ 循环缓冲区”

    The kernel ring buffer stores information such as the initialization messages of device drivers, messages from hardware, and messages from kernel modules. Because it contains these low-level startup messages, the ring buffer is a good place to start an investigation into hardware errors or other startup issues.

    内核环形缓冲区存储信息,例如设备驱动程序的初始化消息,来自硬件的消息以及来自内核模块的消息。 因为环形缓冲区包含这些低级启动消息,所以它是开始调查硬件错误或其他启动问题的好地方。

    But don’t go empty-handed. Take dmesg with you.

    但是不要空手而归。 随身携带dmesg

    dmesg命令 (The dmesg Command)

    The dmesg command allows you to review the messages that are stored in the ring buffer. By default, you need to use sudo to use dmesg.

    dmesg命令使您可以查看环形缓冲区中存储的消息 。 默认情况下,您需要使用sudo来使用dmesg

    sudo dmesg
    
    sudo dmesg in a terminal window

    All of the messages in the ring buffer are displayed in the terminal window.

    环形缓冲区中的所有消息都显示在终端窗口中。

    Output from sudo dmesg in a terminal window

    That was a deluge. Obviously, what we need to do is pipe it through less:

    那是一场大雨。 显然,我们需要做的是通过less 管道

    sudo dmesg | less
    
    sudo dmesg | less in a terminal window

    Now we can scroll through the messages looking for items of interest.

    现在,我们可以滚动查看消息以查找感兴趣的项目。

    dmesg output in less in a terminal window

    You can use the search function within less to locate and highlight items and terms you’re interested in. Start the search function by pressing the forward slash key “/” in less.

    您可以在less使用搜索功能来查找和突出显示您感兴趣的项目和术语。通过在less按正斜杠键“ /”来启动搜索功能。

    消除对sudo的需求 (Removing the Need for sudo)

    If you want to avoid having to use sudo each time you use dmesg, you can use this command. But, be aware: it lets anyone with a user account your computer use dmesg without having to use sudo.

    如果要避免每次使用dmesg时都必须使用sudo ,则可以使用此命令。 但是请注意:它可以让拥有用户帐户的任何人使用您的计算机,而不必使用sudo来使用dmesg

    sudo sysctl -w kernel.dmesg_restrict=0
    
    sudo sysctl -w kernel.dmesg_restrict=0 in a terminal window

    强制色彩输出 (Forcing Color Output)

    By default, dmesg will probably be configured to produce colored output. If it isn’t, you can tell dmesg to colorize its output using the -L (color)  option.

    默认情况下, dmesg可能会配置为产生彩色输出。 如果不是,您可以使用-L (颜色)选项告诉dmesg为其输出着色。

    sudo dmesg -L
    
    sudo dmesg -L in a terminal window

    To force dmesg to always default to a colorized display use this command:

    要强制dmesg始终默认为彩色显示,请使用以下命令:

    sudo dmesg --color=always
    
    sudo dmesg --color=always in a terminal window

    人类时间戳 (Human Timestamps)

    By default, dmesg use a timestamp notation of seconds and nanoseconds since the kernel started. To have this rendered in a more human-friendly format, use the -H (human) option.

    默认情况下,自内核启动以来, dmesg使用时间戳记秒和纳秒 。 要以更人性化的格式呈现此图像,请使用-H (人类)选项。

    sudo dmesg -H
    
    sudo dmesg -H in a terminal window

    This causes two things to happen.

    这导致发生两件事。

    output from sudo dmesg -H ina terminal window
    • The output is automatically displayed in less.

      输出将自动显示为less

    • The timestamps show a timestamp with the date and time, with a minute resolution. The messages that occurred in each minute are labeled with the seconds and nanoseconds from the start of that minute.

      时间戳显示带有日期和时间的时间戳,并具有分钟分辨率。 每分钟发生的消息均以从该分钟开始算起的秒和纳秒标记。

    人类可读的时间戳 (Human Readable Timestamps)

    If you don’t require nanosecond accuracy, but you do want timestamps that are easier to read than the defaults, use the -T (human readable) option. (It’s a little confusing. -H is the “human” option, -T is the “human readable” option.)

    如果您不需要纳秒级的精度,但是您确实想要比默认值更易于阅读的时间戳,请使用-T (人类可读)选项。 (这有点令人困惑。- -H是“人类”选项, -T是“人类可读”选项。)

    sudo dmesg -T
    
    sudo dmesg -T in a terminal window

    The timestamps are rendered as standard dates and times, but the resolution is lowered to a minute.

    时间戳显示为标准日期和时间,但分辨率降低到一分钟。

    output from sudo dmesg -T in a terminal window

    Everything that happened within a single minute has the same timestamp. If all you’re bothered about is the sequence of events, this is good enough. Also, note that you’re dumped back at the command prompt. This option doesn’t automatically invoke less.

    一分钟内发生的所有事件都具有相同的时间戳。 如果您只关心事件的顺序,那么就足够了。 另外,请注意,您将在命令提示符处转储回去。 此选项不会自动调用less

    观看直播 (Watching Live Events)

    To see messages as they arrive in the kernel ring buffer, use the --follow (wait for messages) option. That sentence might seem a little strange. If the ring buffer is used to store messages from events that take place during the startup sequence, how can live messages arrive in the ring buffer once the computer is up and running?

    要查看到达内核环形缓冲区的消息,请使用--follow (等待消息)选项。 那句话似乎有些奇怪。 如果使用环形缓冲区来存储启动序列期间发生的事件中的消息,则一旦计算机启动并运行,实时消息如何到达环形缓冲区中?

    Anything that causes a change in the hardware connected to your computer will cause messages to be sent to the kernel ring buffer. Update or add a kernel module, and you’ll see ring buffer messages about those changes. If you plug in a USB drive or connect or disconnect a Bluetooth device, you’ll see messages in the dmesg output. Even virtual hardware will cause new messages to appear in the ring buffer. Fire up a virtual machine, and you’ll see new information arriving in the ring buffer.

    导致连接到您计算机的硬件发生任何变化的任何事情都会导致将消息发送到内核环形缓冲区。 更新或添加内核模块,您将看到有关这些更改的环形缓冲区消息。 如果插入USB驱动器或连接或断开蓝牙设备,则dmesg输出中将显示消息。 甚至虚拟硬件也会导致新消息出现在环形缓冲区中。 启动虚拟机,您将看到新信息到达环形缓冲区。

    sudo dmesg --follow
    
    sudo dmesg --follow in a terminal window

    Note that you are not returned to the command prompt. When new messages appear they are displayed by dmesg at the bottom of the terminal window.

    请注意,您不会返回到命令提示符。 当出现新消息时,它们将以dmesg形式显示在终端窗口的底部。

    Output from sudo dmesg --follow n a terminal window

    Even mounting a CD-ROM disk is seen as a change, because you’ve grafted the contents of the CD-ROM disk onto the directory tree.

    甚至安装CD-ROM磁盘也被视为更改,因为您已将CD-ROM磁盘的内容移植到了目录树中。

    dmesg ring buffer messages as a result of mounting a CD-ROM disk

    To exit from the real-time feed, hit Ctrl+C.

    要退出实时供稿,请Ctrl+C

    检索最近的十条消息 (Retrieve the Last Ten Messages)

    Use the tail command to retrieve the last ten kernel ring buffer messages. Of course, you can retrieve any number of messages. Ten is just our example.

    使用tail命令检索最后十个内核环形缓冲区消息。 当然,您可以检索任意数量的消息。 十个只是我们的例子。

    sudo dmesg | last -10
    
    sudo dmesg | last -10 in a terminal window

    The last ten messages are retrieved and listed in the terminal window.

    检索最后十条消息并在终端窗口中列出。

    Output from sudo dmsesg | tail -10 in a terminal window

    搜索特定术语 (Searching For Specific Terms)

    Pipe the output from dmesg through grep to search for particular strings or patterns. Here we’re using the -i (ignore case) option so that the case of matching strings is disregarded. our results will include “usb” and “USB” and any other combination of lowercase and uppercase.

    通过grep dmesg的输出通过管道传输以搜索特定的字符串或模式 。 在这里,我们使用-i (忽略大小写)选项,以便忽略匹配字符串的大小写。 我们的结果将包括“ usb”和“ USB”以及任何其他大小写组合。

    sudo dmesg | grep -i usb
    
    sudo dmesg | grep -i usb in a terminal window

    The highlighted search results are in uppercase and lowercase.

    突出显示的搜索结果为大写和小写。

    Search results showing uppercase and lowercase results in a terminal window

    We can isolate the messages that contain references to the first SCSI hard disk on the system sda. (Actually, sda is also used nowadays for the first SATA hard drive, and for USB drives.)

    我们可以隔离包含对系统sda上第一个SCSI硬盘的引用的消息。 (实际上,如今, 第一个SATA硬盘和USB驱动器也使用sda 。)

    sudo dmesg | grep -i sda
    
    sudo dmesg | grep -i sda in a terminal window

    All of the messages that mention sda are retrieved and listed in the terminal window.

    所有提到sda的消息都将被检索并在终端窗口中列出。

    output from sudo dmesg | grep -i sda in a terminal window

    To make grep search for multiple terms at once, use the -E (extend regular expression) option. You must provide the search terms inside a quoted string with pipe “|” delimiters between the search terms:

    要使grep一次搜索多个术语,请使用-E (扩展正则表达式)选项。 您必须在带引号的字符串中使用管道“ |”提供搜索词 搜索字词之间的分隔符:

    sudo dmesg | grep -E "memory|tty|dma"
    
    sudo dmesg | grep -E "memory|tty|dma" ina terminal window

    Any message that mentions any of the search terms is listed in the terminal window.

    终端窗口中会列出任何提及任何搜索词的消息。

    output from sudo dmesg | grep -E "memory|tty|dma" ina terminal window

    使用日志级别 (Using Log Levels)

    Every message logged to the kernel ring buffer has a level attached to it. The level represents the importance of the information in the message. The levels are:

    记录到内核环形缓冲区的每个消息都有一个附加的级别。 级别表示消息中信息的重要性。 级别是:

    • emerg: System is unusable.

      emerg :系统无法使用。

    • alert: Action must be taken immediately.

      警告 :必须立即采取措施。

    • crit: Critical conditions.

      暴击 :关键条件。

    • err: Error conditions.

      err :错误条件。

    • warn: Warning conditions.

      警告 :警告条件。

    • notice: Normal but significant condition.

      注意 :正常但状况显着。

    • info: Informational.

      info :信息性的。

    • debug: Debug-level messages.

      debug :调试级别的消息。

    We can make dmesg extract messages that match a particular level by using the -l (level) option and passing the name of the level as a command-line parameter. To see only “informational” level messages, use this command:

    通过使用-l (级别)选项并将级别名称作为命令行参数传递,我们可以使dmesg提取与特定级别匹配的消息。 要仅查看“信息”级消息,请使用以下命令:

    sudo dmesg -l info
    
    sudo dmesg -l info in a terminal window

    All of the messages that are listed are informational messages. They don’t contain errors or warnings, just useful notifications.

    列出的所有消息都是参考消息。 它们不包含错误或警告,仅包含有用的通知。

    Output from sudo dmesg -l info in a terminal window

    Combine two or more log levels in one command to retrieve messages of several log levels:

    在一个命令中组合两个或多个日志级别,以检索多个日志级别的消息:

    sudo dmesg -l debug,notice
    
    sudo dmesg -l debug,notice in a terminal window

    The output from dmesg is a blend of messages of each log level:

    dmesg的输出是每个日志级别的消息的混合:

    Output from sudo dmesg -l debug,notice in a terminal window

    设施类别 (The Facility Categories)

    The dmesg messages are grouped into categories called “facilities.” The list of facilities is:

    dmesg消息分为称为“设施”的类别。 设施清单是:

    • kern: Kernel messages.

      kern :内核消息。

    • user: User-level messages.

      user :用户级别的消息。

    • mail: Mail system.

      mail :邮件系统。

    • daemon: System daemons.

      守护程序 :系统守护程序。

    • auth: Security/authorization messages.

      auth :安全/授权消息。

    • syslog: Internal syslogd messages.

      syslog :内部syslogd消息。

    • lpr: Line printer subsystem.

      lpr :行式打印机子系统。

    • news: Network news subsystem.

      news :网络新闻子系统。

    We can ask dmesg to filter its output to only show messages in a specific facility. To do so, we must use the -f (facility) option:

    我们可以要求dmesg过滤其输出,以仅显示特定设施中的消息。 为此,我们必须使用-f (功能)选项:

    sudo dmesg -f daemon
    
    sudo dmesg -f daemon in a terminal window

    dmesg lists all of the messages relating to daemons in the terminal window.

    dmesg在终端窗口中列出与守护程序有关的所有消息。

    output from sudo dmesg -f daemon in a terminal window

    As we did with the levels, we can ask dmesg to list messages from more than one facility at once:

    正如我们对级别所做的那样,我们可以要求dmesg一次列出来自多个设施的消息:

    sudo dmesg -f syslog, daemon
    
    sudo dmesg -f syslog, daemon in a terminal window

    The output is a mix of syslog and daemon log messages.

    输出是syslog和守护程序日志消息的混合。

    output from sudo dmesg -f syslog, daemon in a terminal window

    设施与水平相结合 (Combining Facility and Level)

    The -x (decode) option makes dmesg show the facility and level as human-readable prefixes to each line.

    -x (解码)选项使dmesg将设施和级别显示为每行的人类可读前缀。

    sudo dmesg -x
    
    sudo dmesg -x in a terminal window

    The facility and level can be seen at the start of each line:

    在每一行的开头可以看到设施和级别:

    Output from sudo dmesg -x in a terminal window

    The first highlighted section is a message from the “kernel” facility with a level of “notice.” The second highlighted section is a message from the “kernel” facility with a level of “info.”

    第一个突出显示的部分是来自“内核”功能的消息,级别为“通知”。 第二个突出显示的部分是来自“内核”功能的消息,级别为“信息”。

    很好,但是为什么呢? (That’s Great, But Why?)

    In a nutshell, fault finding.

    简而言之,就是发现故障。

    If you are having issues with a piece of hardware not being recognized or not behaving properly, dmesg may throw some light on the issue.

    如果您遇到某个硬件无法识别或行为不正常的问题,则dmesg可能会对该问题有所帮助。

    • Use dmesg to review messages from the highest level down through each lower level, looking for any errors or warnings that mention the hardware item, or may have a bearing on the issue.

      使用dmesg可以从最高级别向下到每个较低级别查看消息,以查找涉及硬件项目或可能与问题有关的任何错误或警告。

    • Use dmesg to search for any mention of the appropriate facility to see whether they contain any useful information.

      使用dmesg搜索适当功能的任何提及,以查看它们是否包含任何有用的信息。

    • Pipe dmesg through grep and look for related strings or identifiers such as product manufacturer or model numbers.

      通过grep传递dmesg并查找相关的字符串或标识符,例如产品制造商或型号。

    • Pipe dmesg through grep and look for generic terms like “gpu” or “storage”, or terms such as “failure”, “failed” or “unable”.

      通过grep传递dmesg并查找通用术语,如“ gpu”或“ storage”,或诸如“ failure”,“ failed”或“ unable”之类的术语。

    • Use the --follow option and watch dmesg messages in real-time.

      使用--follow选项,实时观看dmesg消息。

    Happy hunting.

    狩猎愉快。

    翻译自: https://www.howtogeek.com/449335/how-to-use-the-dmesg-command-on-linux/

    linux命令 dmesg

    展开全文
  • Linux命令之dmesg命令

    2021-10-13 09:50:18
    Linux dmesg(英文全称:display message)命令用于显示开机信息。kernel 会将开机信息存储在 ring buffer 中。您若是开机时来不及查看信息,可利用 dmesg 来查看。开机信息亦保存在 /var/log 目录中,名称为 dmesg ...
  • dmesg命令输出segfault at * rip * rsp * error 4
  • dmesg 命令

    千次阅读 2018-11-29 17:45:02
    dmesg 这个命令,Linux下用的还是比较多的。现在来详细看一下: Linux dmesg命令用于显示开机信息。 kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/...
  • dmesg七种用法

    2021-01-16 15:41:22
    https://blog.csdn.net/rwdxll/article/details/38560137?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant....dmesg
  • dmesg命令详解

    2021-03-08 19:40:29
    dmesg 命令的使用范例 下面我们展示一些最负盛名的‘dmesg’命令工具以及其实际使用举例。‘dmesg’命令的使用语法如下。 1. 列出加载到内核中的所有驱动 grep’文字处理工具来处理‘dmesg’命令的输出。由于...
  • dmesg 命令详解

    2019-10-01 20:37:26
    linux dmesg命令参数及用法详解(linux显示开机信息命令) 功能说明:显示开机信息。语 法:dmesg[-cn][-s<缓冲区大小>]补充说明:kernel会将开机信息存储在ringbuffer中。您若是开机时来不及查看...
  • linux dmesg日志中加入时间戳

    千次阅读 2020-07-30 09:30:30
    dmesg命令相关包 dmesg日志查看 解决方法一:通过新增监控日志kern来解决 解决方法二:修改内核参数 时间戳转换脚本 dmesg命令相关包 CentOS 7之前的版本的dmesg日志是没有时间戳的,原因是util-linux-ng版本...
  • 看到一篇讲解 dmesg 较好的英文文章,这里翻译一下,以下是译文。 dmesg 命令可以让你更深入的了解 Linux 的启动过程,可以从内核的环形缓冲区查看并监视硬件设备和驱动消息。 Linux 环形缓冲区是如何工作的呢? ...
  • dmesg用法

    2020-01-08 10:46:28
    dmesg命令语法:# dmesg [options] 功能:输出日志信息,如在对设备进行故障诊断、调试等情况下,可使用dmesg实现日志信息的查看。 由于dmesg命令查看日志时,会输出过多的信息造成阅读上的麻烦(主要是不一定都是...
  • dmesg命令被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg文件里。 语法格式:dmesg [参数] 常用参数: ...
  • dmesg 用法详解

    千次阅读 2018-12-16 20:39:03
    dmesg 命令的使用范例 ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作...
  • dmesg [options] dmesg --clear dmesg --read-clear [options] dmesg --console-level level dmesg --console-on dmesg --console-off DESCRIPTION dmesg is used to examine or control...
  • 答案是肯定的,使用 dmesg 命令就可以。无论是系统启动过程中,还是系统运行过程中,只要是内核产生的信息,都会被存储在系统缓冲区中,已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-……,...
  • C语言再学习 -- dmesg 命令

    千次阅读 2018-01-15 11:59:11
    dmesg 这个命令,Linux下用的还是比较多的。现在来详细看一下: Linux dmesg命令用于显示开机信息。 kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/...
  • dmesg功能介绍

    千次阅读 2019-04-04 10:18:59
    dmesg 命令的使用范例 ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,504
精华内容 16,601
关键字:

dmesg