使用dmseg检查您的Linux系统的内核消息缓冲区

虽然dmesg命令可以显示整个Linux内核消息缓冲区的内容有办法让它只选择你想看到的东西。

蓝色的同心圆抽象背景
思想库

dmesg命令命令显示的内容内核的消息缓冲区,因为系统最近的引导。它显示系统是如何工作的很多细节和问题可能会遇到,你通常不会看到。可以大量的数据,但有几个技巧削下来。

例如,即使系统查询下面才三天多一点,它收集了超过一千行数据。

1034年美元dmesg | wc - l

如果你只类型dmesg命令,你会看到所有可用的数据。Sudo访问不是必需的。你也可以管的输出dmesg命令更多的命令来扫描或者只是管输出grep,但命令本身提供了很多选项,选择最相关的信息文件。

针对美元dmesg | grep NIC [21.483886] e1000e 0000:00:19.0 enp0s25:网卡链接100 Mbps全双工、流控制:针对Rx / Tx [27.504178] e1000e 0000:00:19.0 enp0s25:网卡链接

您将注意到的一件事当你第一次开始看dmesg命令输出是每一行的左边的编号。这些都是日期/时间表达秒和纳秒自上次启动。他们会是这个样子:

(12.469099)(274011.884318)

上面的第一次约会表示意味着数据记录大约12½秒自去年启动系统。计算如低于告诉我们第二次约会超过三天后显示。86400号是在一天内的秒数。

美元回声”规模= 2;“公元前| 3.17 274011/86400

一个更简单的方法来查看日期/时间字段是使用- t- h选项会将这些字段转换为日期和时间就像那些我们曾经见到过的。

美元dmesg - t |头3(2021年12月3 08:52:34星期五)微码:微码更新修订0 xa0b早期,日期= 2010-09-28(2021年12月3 08:52:34星期五)5.15.4-101.fc34 Linux版本。x86_64 (mockbuild@bkernel02.iad2.fedoraproject.org)(海湾合作委员会(gcc) 11.2.1 20210728 (Red Hat 11.2.1-1), GNU ld版本2.35.2-6.fc34) # 1 SMP星期二2021年11月23日18:58:50 UTC[Fri Dec 3 08:52:34 2021] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.15.4-101.fc34.x86_64 root=UUID=a9e33237-9114-44ae-afd5-8ddb231d301f ro rootflags=subvol=root rhgb quiet $ dmesg -H | head -4 [Dec 3 08:52] microcode: microcode updated early to revision 0xa0b, date = 2010-09-28 [ +0.000000] Linux version 5.15.4-101.fc34.x86_64 (mockbuild@bkernel02.iad2.fedoraproject.org) (gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1), GNU ld version 2.35.2-6.fc34) #1 SMP Tue Nov 23 18:58:50 UTC 2021 [ +0.000000] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.15.4-101.fc34.x86_64 root=UUID=a9e33237-9114-44ae-afd5-8ddb231d301f ro rootflags=subvol=root rhgb quiet [ +0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

您可以使用命令如所示挑选细节相关的内存,硬盘,u盘,串行端口。

美元美元dmesg | grep - i记忆dmesg | grep - i dma dmesg | grep - i usb美元dmesg | grep -我电传

使用日志设施

您可以选择dmesg命令基于内容的过程,生成的消息。支持日志设施包括:

  • kern——内核消息
  • 用户随机用户级信息
  • 邮件,邮件系统
  • 守护进程——系统守护进程
  • auth -安全/授权信息
  • syslog——syslogd内部生成的消息
  • lpr -行式打印机子系统
  • 新闻——网络新闻子系统

在下面的例子中,您将看到一些命令将显示没有输出,因为没有相关的活动记录。

使用克恩

美元dmesg - f kern |头2[0.000000]微码:微码更新修订0 xa0b早期,日期= 2010-09-28 [0.000000]5.15.4-101.fc34 Linux版本。x86_64 (mockbuild@bkernel02.iad2.fedoraproject.org)(海湾合作委员会(gcc) 11.2.1 20210728 (Red Hat 11.2.1-1), GNU ld版本2.35.2-6.fc34) # 1 SMP星期二2021年11月23日18:58:50 UTC

使用用户

dmesg命令- f用户|头2美元

使用邮件

美元dmesg |头2 - f邮件

使用守护进程

美元dmesg - f守护进程|头2 [1.772531]systemd [1]: systemd v248.9-1。fc34在系统模式下运行。(+ PAM +审计+ SELINUX apparmor对+ IMA +打+ SECCOMP + GCRYPT + GNUTLS + OPENSSL + ACL + BLKID +旋度+ ELFUTILS + FIDO2 + IDN2 idn + IPTC + KMOD + LIBCRYPTSETUP + LIBFDISK + PCRE2 + PWQUALITY + P11KIT + QRENCODE + BZIP2 + LZ4 + XZ + ZLIB + ZSTD + XKBCOMMON + UTMP + SYSVINIT default-hierarchy =统一)[1.784315]systemd[1]:发现架构x86 - 64。

使用身份验证

dmesg命令- f auth |头2美元

使用syslog

美元dmesg - f syslog |头2 [7.451957]systemd-journald[192]:收到PID SIGTERM 1 (systemd)。[9.575729]systemd-journald[499]:接收客户端请求刷新运行时日志。

使用lpr

美元dmesg - f lpr |头2

使用新闻

美元dmesg |头2 - f消息

使用水平

dmesg命令命令还允许您将数据日志级别。这些包括:

  • 紧急情况,系统无法使用
  • 立即警觉,必须采取行动
  • 致命一击——临界条件
  • 犯错,错误条件
  • 警告,警告条件
  • 注意——正常但重要的条件
  • 信息,信息
  • 调试-级的调试信息

使用紧急情况

美元dmesg - l紧急情况|头2

使用警报

美元dmesg |头2 - l警觉

使用致命一击

美元dmesg - l暴击|头2

使用错

美元dmesg - l犯错|头2 [6.580237]usb 2 - 2:设备描述符读/ 64,错误-110 [7.875161]sd 4:0:0:0:[提交]没有缓存模式页面找到

使用警告

美元dmesg - l警告|头2 [0.006843]ACPI BIOS警告(错误):32/64X长度不匹配FADT / Pm1aEventBlock: 32/8 (20210730 / tbfadt - 564) [0.006846] ACPI BIOS警告(错误):32/64X长度不匹配FADT / Pm1aControlBlock: 16/8 (20210730 / tbfadt - 564)

使用请注意

美元dmesg |头2 - l通知[0.000000]5.15.4-101.fc34 Linux版本。x86_64 (mockbuild@bkernel02.iad2.fedoraproject.org)(海湾合作委员会(gcc) 11.2.1 20210728 (Red Hat 11.2.1-1), GNU ld版本2.35.2-6.fc34) # 1 SMP星期二2021年11月23日18:58:50 UTC[0.157702]内核命令行:BOOT_IMAGE = (hd0, msdos1) / vmlinuz - 5.15.4 fc34——101.。x86_64根= UUID = a9e33237 - 9114 - 44 - ae - afd5 - 8 ddb231d301f ro rootflags = subvol =根rhgb安静

使用信息

美元dmesg |头2 - l信息[0.000000]微码:微码更新修订0 xa0b早期,日期= 2010-09-28[0.000000]命令行:BOOT_IMAGE = (hd0, msdos1) / vmlinuz - 5.15.4 fc34——101.。x86_64根= UUID = a9e33237 - 9114 - 44 - ae - afd5 - 8 ddb231d301f ro rootflags = subvol =根rhgb安静

使用调试

美元dmesg - l调试|头2 [0.000888]e820:更新(mem 0 x00000000-0x00000fff)使用= = > [0.000891]e820:保留删除(mem 0 x000a0000-0x000fffff)可用

总结

dmesg命令命令提供了大量的细节在您的Linux系统是如何操作和问题,否则你可能不知道。它也可以给你很多关于你的系统是如何工作的见解。

加入网络社区有个足球雷竞技app脸谱网LinkedIn上面的评论主题思想。
相关:

版权©2021 IDG通信公司。Raybet2

SD-WAN买家指南:关键问题要问供应商(和你)