debian内核崩溃转储


有的时候512M内存的小机器用着用着内核就崩了得安装一个kdump了 应该是kdump服务哈哈这个东西的原理百度很多我就不说了
Debian安装

apt install kdump-tools -y

默认情况下启用内核崩溃转储机制。在安装过程中,将提示您以下对话框。


 |------------------------| Configuring kexec-tools |------------------------|
 |                                                                           |
 |                                                                           |
 | If you choose this option, a system reboot will trigger a restart into a  |
 | kernel loaded by kexec instead of going through the full system boot      |
 | loader process.                                                           |
 |                                                                           |
 | Should kexec-tools handle reboots (sysvinit only)?                        |
 |                                                                           |
 |                    <Yes>                       <No>                       |
 |                                                                           |
 |---------------------------------------------------------------------------|

选择“是”以连接kexec-tools所有重新启动。


 |------------------------| Configuring kdump-tools |------------------------|
 |                                                                           |
 |                                                                           |
 | If you choose this option, the kdump-tools mechanism will be enabled.  A  |
 | reboot is still required in order to enable the crashkernel kernel        |
 | parameter.                                                                |
 |                                                                           |
 | Should kdump-tools be enabled be default?                                 |
 |                                                                           |
 |                    <Yes>                       <No>                       |
 |                                                                           |
 |---------------------------------------------------------------------------|

如果没重启手动重启一下

也应在此处选择是,以启用kdump-tools。
过命令查看kdump的当前状态kdump-config show。如果开启将显示如下内容

DUMP_MODE:        kdump
USE_KDUMP:        1
KDUMP_SYSCTL:     kernel.panic_on_oops=1
KDUMP_COREDIR:    /var/crash  #错误储存地址
crashkernel addr: 
   /var/lib/kdump/vmlinuz
kdump initrd: 
   /var/lib/kdump/initrd.img
current state:    ready to kdump
kexec command:
  /sbin/kexec -p --command-line="..." --initrd=...

这里注意默认应该是给了128M内存给kdump如果内存较小可以修改grub的配置
由于我这里是vps就直接去/boot/grub/找到grub.cfg进行修改找到这句改 这句配置了分配的大小

        linux   /boot/vmlinuz-4.14.129-bbrplus root=UUID=813b9d75-c617-4db0-b0f2-6758d17b31f4 ro  net.ifnames=0 biosdevname=0 crashkernel=384M-:128M
        echo    'Loading initial ramdisk ...'

格式有两种

crashkernel=64M@16M -> 16M位置预留64M
crashkernel=512M-:192M -> 如果系统内存大于512M就预留192M

我写的是

crashkernel=384M-2G:64M,2G-:128M

如果RAM小于384M,则不要保留任何内容(这是“救援”情况)
如果RAM大小介于386M和2G(不包括)之间,则保留64M
如果RAM大小大于2G,则保留128M
现在基本上就配置好了让我们来试试看

强制内核崩溃

可以通过人工方式手动使内核崩溃
$ systemctl is-active kdump
$ echo 1 > /proc/sys/kernel/sysrq
$ echo c > /proc/sysrq-trigger
$ reboot
重启后可以在/var/crash/目录下看到vmcore日志
参考
参考
参考
参考

我不会用crash分析干!!!

声明:小小博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - debian内核崩溃转储


Carpe Diem and Do what I like