首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阅读上一次会议的dmesg?(dmesg.0)

如何阅读上一次会议的dmesg?(dmesg.0)
EN

Unix & Linux用户
提问于 2015-01-26 04:59:50
回答 3查看 147.3K关注 0票数 81

dmesg是一个从/var/log/dmesg读取内容的命令。与less /var/log/dmesg相比,比较好的一点是,我可以使用-T标志进行人类可读的时间输出。

现在我想看看/var/log/dmesg.0,看看我的电脑是怎么崩溃的。该文件包含上一次会话的日志。但是我想使用dmesg命令中的-T标志。或者类似的东西。

知道怎么做吗?

我不介意使用图形化工具,但最好的方法是使用cli解决方案。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2017-02-18 16:01:53

虽然行动有点晚了..。

我使用Fedora,但是如果您的系统使用journalctl,那么您可以通过以下方式轻松地从先前的关机/崩溃(以dmesg -T格式)获取内核消息(dmesg )。

选项:

  • -k (dmesg)
  • -b < boot_number >( 0、-1、-2等等)
  • -o短精度(dmesg -T)
  • -p优先过滤由优先级输出(4过滤出通知和信息)。

注意:还有一个-o short-o short-iso,它只给出日期,和日期时间分别以iso格式。

命令:

  • 所有启动周期:journalctl -o short-precise -k -b all
  • 当前引导:journalctl -o short-precise -k
  • 最后引导:journalctl -o short-precise -k -b -1
  • 两只靴子优先:journalctl -o short-precise -k -b -2
  • 诸若此类

示例输出:

代码语言:javascript
运行
复制
Feb 18 21:41:26.917400 localhost.localdomain kernel: usb 2-4: USB disconnect, device number 12
Feb 18 21:41:26.917678 localhost.localdomain kernel: usb 2-4.1: USB disconnect, device number 13
Feb 18 21:41:27.246264 localhost.localdomain kernel: usb 2-4: new high-speed USB device number 22 using xhci_hcd
Feb 18 21:41:27.419395 localhost.localdomain kernel: usb 2-4: New USB device found, idVendor=05e3, idProduct=0610
Feb 18 21:41:27.419581 localhost.localdomain kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 18 21:41:27.419739 localhost.localdomain kernel: usb 2-4: Product: USB2.0 Hub
Feb 18 21:41:27.419903 localhost.localdomain kernel: usb 2-4: Manufacturer: GenesysLogic

可以通过以下方式查看您可以回顾的引导量。

  • journalctl --list-boot

journalctl --list-boot的输出如下所示。

代码语言:javascript
运行
复制
-6 cc4333602fbd4bbabb0df2df9dd1f0d4 Sun 2016-11-13 08:32:58 JST—Thu 2016-11-17 07:53:59 JST
-5 85dc0d63e6a14b1b9a72424439f2bab4 Fri 2016-11-18 22:46:28 JST—Sat 2016-12-24 02:38:18 JST
-4 8abb8267e06b4c26a2466562f3422394 Sat 2016-12-24 08:10:28 JST—Sun 2017-02-12 12:31:20 JST
-3 a040f5e79a754b2a9055ac2598d430e8 Sun 2017-02-12 12:31:36 JST—Sat 2017-02-18 21:31:04 JST
-2 6c29e3b6f6a14f549f06749f9710e1f2 Sat 2017-02-18 21:31:15 JST—Sat 2017-02-18 22:36:08 JST
-1 42fd465eacd345f7b595069c7a5a14d0 Sat 2017-02-18 22:51:22 JST—Sat 2017-02-18 23:08:30 JST  
 0 26ea10b064ce4559808509dc7f162f07 Sat 2017-02-18 23:09:25 JST—Sun 2017-02-19 00:57:35 JST
票数 126
EN

Unix & Linux用户

发布于 2015-01-26 10:49:11

为了澄清一个基本的误解,dmesg不读/var/log/dmesg。它直接从内核环缓冲区读取,并提供最新的N条消息。在引导过程接近尾声时,将调用dmesg将引导消息写入/var/log/dmesg (该文件的旧版本按通常的方式旋转)。

一旦您运行了syslog (syslogdrsyslogdsyslog-ng等)它从内核缓冲区读取并写入文件(如/var/log/kern.log )。(这是针对Debian的,其他系统也会有所不同)。假设您的系统能够在磁盘崩溃之前写入磁盘并刷新磁盘缓冲区,那么您将在那里找到内核即将崩溃的尖叫声。

在我的Debian系统中,/var/log/kern.log文件包含人类可读的时间戳。

票数 52
EN

Unix & Linux用户

发布于 2015-08-12 13:25:45

在Debian中,dmesg日志存储为:

  • /var/log/dmesg (活动和未压缩)
  • /var/log/dmesg.0 (最后一次会话和未压缩)
  • /var/log/dmesg.1.gz (倒数第二和压缩)
  • /var/log/dmesg.2.gz (倒数第二和压缩)
  • /var/log/dmesg.3.gz (第4位来自最后和压缩)
  • /var/log/dmesg.4.gz (第5位来自最后和压缩)

如果您具有适当的权限,则可以使用catmoreless读取普通权限,而对于压缩权限则可以使用zcatzmorezless读取它们。

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/181067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档