Linux怎么正确捕捉内核崩溃信息
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本文小编为大家详细介绍"Linux怎么正确捕捉内核崩溃信息",内容详细,步骤清晰,细节处理妥当,希望这篇"Linux怎么正确捕捉内核崩溃信息"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2025年11月09日Linux怎么正确捕捉内核崩溃信息

本文小编为大家详细介绍"Linux怎么正确捕捉内核崩溃信息",内容详细,步骤清晰,细节处理妥当,希望这篇"Linux怎么正确捕捉内核崩溃信息"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
首先安装必选包:
apt-get -y install aptitude kdump-tools crash kexec-tools makedumpfile linux-image-`uname -r`-dbgaptitude full-upgrade # 避免运行的内核版本与调试的版本不一致导致无法调试
Kdump配置文件 /etc/default/kdump-tools 关键部分
USE_KDUMP=1KDUMP_SYSCTL="kernel.panic_on_oops=1"KDUMP_KERNEL=/boot/vmlinuz-3.16.0-4-amd64KDUMP_INITRD=/boot/initrd.img-3.16.0-4-amd64KDUMP_COREDIR="/data/crash"KDUMP_FAIL_CMD="reboot -f"DEBUG_KERNEL=/usr/lib/debug/vmlinux-3.16.0-4-amd64MAKEDUMP_ARGS="-c -d 31"KDUMP_CMDLINE="crashkernel=512M"
crashkernel大小配比,正常情况崩溃后1分钟左右会自动重启、配置不正确会导致重启卡住黑屏不动。
内存大小 crashkernel=0 - 12G 128M13 - 48G 256M49 - 128G 512M129 - 256G 1G *(896M, 768M o或 512M)
Grub配置文件/etc/default/grub关键部分
GRUB_CMDLINE_LINUX_DEFAULT="nmi_watchdog=1 crashkernel=512M"
Sysctl配置文件/etc/sysctl.conf关键部分
kernel.sysrq = 1kernel.watchdog = 1kernel.nmi_watchdog = 1kernel.panic_on_oops = 1kernel.softlockup_panic = 1kernel.watchdog_thresh = 10
重启让配置生效
update-grubreboot -fkdump-config loadkdump-config show
校验
# cat /proc/cmdlineBOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=a58ab901-00aa-4f8b-b3eb-d352fc72233 ro net.ifnames=0 thash_entries=1048576 rhash_entries=1048576 biosdevname=0 nohz=off enforcing=0 ipv6.disable_ipv6=1 nmi_watchdog=1 selinux=0 transparent_hugepage=never cgroup_enable=memory swapaccount=1 vga=771 crashkernel=512M# kdump-config testUSE_KDUMP: 1KDUMP_SYSCTL: kernel.panic_on_oops=1KDUMP_COREDIR: /data/crashcrashkernel addr: 0x2e000000kdump kernel addr:kdump kernel: /boot/vmlinuz-3.16.0-4-amd64kdump initrd: /boot/initrd.img-3.16.0-4-amd64debug kernel: /usr/lib/debug/vmlinux-3.16.0-4-amd64kexec command to be used: /sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=a58ab901-00aa-4f8b-b3eb-d352fc7f6acb ro net.ifnames=0 thash_entries=1048576 rhash_entries=1048576 biosdevname=0 nohz=off enforcing=0 ipv6.disable_ipv6=1 nmi_watchdog=1 selinux=0 transparent_hugepage=never cgroup_enable=memory swapaccount=1 vga=771 irqpoll maxcpus=1 nousb systemd.unit=kdump-tools.service crashkernel=512M" --initrd=/boot/initrd.img-3.16.0-4-amd64 /boot/vmlinuz-3.16.0-4-amd64
测试
echo c > /proc/sysrq-trigger
分析
crash /data/crash/201609010252/dump.201609012233 /usr/lib/debug/lib/modules/3.16.0-4-amd64/vmlinux

开始欢快的调试之旅

常用错误 :
WARNING: kernel version inconsistency between vmlinux and dumpfile # 版本不一致,full-upgrade 一下。崩溃后系统不重启。 # 请检查 sysctl 、 crashkernel 及 nmi_watchdog 的设定!
读到这里,这篇"Linux怎么正确捕捉内核崩溃信息"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
配置
内核
信息
关键
文件
文章
版本
部分
一致
内容
大小
妥当
欢快
之旅
内存
常用
思路
情况
新知
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何选云服务器规格
火星大数据库的中奖号码信息
2019年自考数据库技术
mysql同步数据库
港股上市公司网络安全
网络安全法立法首要目的是
清华网络技术专业吗
软件开发花销大么
论述网络安全的技术
软件开发型号定义
军用计算机网络安全检查包括
错误500内部服务器错误
毕马威中国互联网银行科技
程序架构学什么软件开发
华中科技大学网络安全考研平均分
提交审核功能数据库
入侵铁路局数据库
文明重启开服务器怎么调时间
万方数据库怎么看电话
苹果在国内有没有服务器
赛克数据库管理系统
笔记本无法进入服务器
软件开发的工具
桌面应用软件开发技术栈
小米官网自助服务器
方舟生存进化如何挤服务器
河北网络技术开发套餐
软件开发设备需求
直接访问服务器资源的方法
网络安全2020新动态