如何使用 kdump 导致测试崩溃?

如何使用 kdump 导致测试崩溃?

安装后linux-crashdumpkdump-tools按照https://wiki.ubuntu.com/Kernel/CrashdumpRecipe并配置后者以便cat /sys/kernel/kexec_crash_loaded打印1,我遇到了导致测试崩溃的问题

echo 1 | sudo tee /proc/sys/kernel/sysrq
echo c | sudo tee /proc/sysrq-trigger

系统冻结,并且 Unity 中出现图形错误,但随后 10 分钟内什么都没有发生(上面引用的 wiki 文章指出“应该有一些延迟”,具体取决于内存(我的情况是 16GB),但不可能这么久,对吧?!)。我预计会重新启动并创建转储/var/crash

除此之外还有其他断言需要检查吗cat /sys/kernel/kexec_crash_loaded?我在 Ubuntu 14.10-beta1 上测试了 3.17-rc6 和 3.16.0-18-generic,在 Ubuntu 14.04.1 上测试了 3.13.0-36-generic。

信息:

$ uname -a
Linux richter-lenovo-IdeaPad-Z500 3.17.0-031700rc6-generic #201409211935 SMP Sun Sep 21 23:37:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/default/kdump-tools | grep -Ev '(#.*$)|(^$)'
USE_KDUMP=1
KDUMP_COREDIR="/var/crash"

中存在以下内容/var/crash/,但在我看来它似乎不是 crashdump 的结果(除了重启不起作用之外):

$ ls /var/crash/
kexec_cmd                              _usr_bin_gnome-tweak-tool.1000.uploaded
nvidia-331.0.crash                     _usr_bin_meld.0.crash
nvidia-343.0.crash                     _usr_bin_nautilus.1000.crash
_usr_bin_gnome-tweak-tool.1000.crash   _usr_bin_update-manager.1000.crash
_usr_bin_gnome-tweak-tool.1000.upload  _usr_share_apport_apport-gtk.0.crash
$ cat /var/crash/kexec_cmd
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.17.0-031700rc6-generic root=UUID=c5aaeaf4-f555-45ff-a4f8-185a3aeac543 ro quiet splash irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.17.0-031700rc6-generic /boot/vmlinuz-3.17.0-031700rc6-generic

答案1

冻结通常表示保留内存不正确,请尝试一次增加 128M

grub 配置中的 crashkernel 参数如下所示:

384M-:256M

逐渐增加 256M

答案2

我也遇到了这个问题,刚刚才弄清楚。

这是我所做的:

使用 Kdump 和你构建的内核,在构建内核时,传递一个参数

“deb-pkg”(ubuntu) 改为 'make',意思是“make -jN deb-pkg”,

然后安装软件包和 kdump(linux-crashdump),

相关内容