kdump已启用需满足三条件:/proc/cmdline含crashkernel参数、/sys/kernel/kexec_crash_size非零、/proc/meminfo有CrashKernel行;再运行kdump-config show显示“ready to kdump”且systemctl status kdump-tools为active。

Ubuntu如何设置系统崩溃分析功能项

怎么确认kdump是否已启用

先别急着改配置,直接运行 kdump-config show。输出里如果看到 status: ready to kdump,说明服务已加载且内存预留成功;若显示 disablednot ready,大概率是 crashkernel= 参数没生效,或 kdump-tools 服务没启动。

再补查一遍服务状态:systemctl status kdump-tools。常见问题包括:服务未 enable、启动失败(日志里常报 no crashkernel parameter)、或内核模块 crash_core 未加载(lsmod | grep crash 可验证)。

crashkernel参数怎么设才不翻车

你知道吗?crashkernel=这玩意儿,可不是越大越好,也不是越小越省内存哦。它得在boot阶段,就从物理内存里硬生生地划出一块来,而且还不能和其他内存管理机制起冲突。Ubuntu的默认值是crashkernel=512M-:192M,啥意思呢?就是当内存大于等于512MB的时候,预留192MB。不过呢,实际操作中,建议根据物理内存总量来调整哦,具体怎么调呢?接着往下看。

参数得写进 /etc/default/grub.d/kdump-tools.cfgCRASHKERNEL 行,而非 /etc/default/grub 里的 GRUB_CMDLINE_LINUX_DEFAULT 哦。要知道,后者只对主内核启动参数起作用,而kdump工具读取的可是前者。

触发崩溃后vmcore没生成?检查这三处

手动触发 echo c > /proc/sysrq-trigger 后系统重启,但 /var/crash/ 下空空如也,常见原因有:

注意:/var/crash 目录权限必须是 root:root755,否则 kdump 进程无法写入。

分析vmcore前必须装什么

光有 crash 命令不够,缺三样东西没法解析 vmcore:

验证符号是否到位:file /usr/lib/debug/boot/vmlinux-$(uname -r) 应输出 ELF 64-bit LSB pie executable;若报 “No such file”,说明 dbgsym 没装对或仓库源没配全(需加 ddebs.ubuntu.com 源)。

最易被忽略的是:kdump 生成的 vmcore 是压缩的(vmcore.gz),crash 默认不自动解压,得先 gunzip /var/crash/*/vmcore.gz 再传路径进去。直接拖 .gz 文件进去会报 invalid magic number

本文转载于:https://www.php.cn/faq/3004756.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。