安装后linux-crashdump
并kdump-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),