我最近更新了我的 Arch Linux 机器。从那时起,我就时不时地遇到内核恐慌。 (屏幕冻结并且键盘上的状态灯闪烁)
当我观看 YouTube 视频大约 10 分钟时,似乎就会发生这种情况。我想找出导致这些内核恐慌的原因,以便解决它们。
我似乎找不到任何包含任何有价值信息的日志文件。
journalctl
不提供任何有用的信息,dmesg
仅显示有关当前正在运行的内核的信息。 /var/log/ 中的大多数日志文件都是空的。我认为这是正常的,因为 systemd 处理日志记录并且不在那里存储日志。
在哪里可以找到有关我遇到的内核恐慌的更多信息?我不需要完整的内核转储,堆栈跟踪或错误的模块/子系统的名称应该足够了。
答案1
dmesg -w > yourlogfile &
上面的命令将跟踪 dmesg 日志并将其打印到文件中。让它运行直到内核崩溃并在启动后检查日志
tail yourlogfile
它可能不会给你确凿的证据,但它是一个起点。
答案2
如果系统完全崩溃,则不能保证错误可以写入磁盘。
但由于屏幕也锁定,该错误似乎可能与 X 相关。 X 仍然有自己的日志文件,因此在崩溃后首先查看 /var/log/Xorg.0.log.old (或者可能是其他 /var/log/Xorg.* 文件之一)。
答案3
我认为你应该为你的机器配置 kdump,以便每当发生恐慌时你都会得到一个 vmcore(vmcore 是发生恐慌时正在运行的内核的快照)。
请按照以下步骤配置 kdump 内核:
要检查生成的核心文件,您需要使用崩溃实用程序
[更新]
一些内核参数(搜索 sysctl 参数)可能还需要配置。