首页 > 其他分享 >配置kdump使用的debug内核

配置kdump使用的debug内核

时间:2024-05-23 18:51:30浏览次数:10  
标签:lib kdump 配置 var 内核 debug KDUMP

1.背景

在ubuntu 20.04上使用自己编译的内核配置kdump,发现kdump的内存用量特别大,我从1024M开始,每次加128M进行测试,直到1536M才能成功转储。这应该和我编译的内核尺寸有关,/var/lib/kdump目录下的initrd.img足足有三百多M:

这样占用1.5个G的空间确实很浪费。而且这个值还不能过大,比如我配置成2048M的话(虚拟机分配的是8个G内存),系统会有几率起不来,不是出现calltrace就是卡在cloud-init,需要多次尝试才有可能能进系统。

2.配置方法

  • 修改/var/lib/kdump目录下软链接,这个重启之后就会失效。
  • 使用kdump-config symlinks xxx进行配置,这个一样,重启就会失效。
  • 修改/etc/default/kdump-tools配置文件中的KDUMP_KERNELKDUMP_INITRD,例如:
#KDUMP_KERNEL=/var/lib/kdump/vmlinuz
KDUMP_KERNEL=/boot/vmlinuz-5.4.0-182-generic
#KDUMP_INITRD=/var/lib/kdump/initrd.img
KDUMP_INITRD=/var/lib/kdump/initrd.img-5.4.0-182-generic

重启之后使用kdump-config查看:

使用这个内核经测试,kdump的内存配置成512M就够了。

标签:lib,kdump,配置,var,内核,debug,KDUMP
From: https://www.cnblogs.com/9ajiang/p/18209150

相关文章

  • OpenCloudOS 9.2 发布!全新内核版本,全面平台支持
    2023年,操作系统开源社区OpenCloudOS发布首个全自研社区9.0版本,内核及用户态软件均为自主选型、独立演进,在操作系统发行版的全链路均实现自主可控,开启了国产OS全新独立路线。2024年5月22日,OpenCloudOS社区年度新版本OpenCloudOS9.2正式发布:Kernel版本升级至6.6,......
  • 《Linux内核完全注释》学习笔记:2.4 Linux内核进程控制
    程序是一个可执行的文件,而进程(process)是一个执行中的程序实例。利用分时技术,在Linux操作系统上同时可以运行多个进程。分时技术的基本原理:把CPU的运行时间划分成一个个规定长度的时间片(timeslice),让每个进程在一个时间片内运行。当进程的时间片用完时系统就利用调度程序......
  • debug技巧之使用Arthes调试
    一、前言大家好啊,我是summo,今天给大家分享一下我平时是怎么调试代码的,不是权威也不是教学,就是简单分享一下,如果大家还有更好的调试方式也可以多多交流哦。前面我介绍了本地调试和远程调试,今天再加一种:利用Arthes进行调试。二、Arthes是什么?以下是Arthes官网原文:通常,本地开发......
  • 内核hlist分析
    一.参考网址1. Linux内核hlist详解2. Linux内核中的数据结构与算法(三)哈希链表二.源码1.哈希表操作函数:include/linux/list.h2.哈希表结构体定义:include/linux/types.h3.两个重要结构体定义://hash桶的头结点structhlist_head{struct......
  • 4/7一文讲透网络传输流程 epoll内核模型 reactor用户空间处理模型
    epoll是内核如何将由层层协议栈去除tcp头,根据四元组查socket文件,将sk_buffer放到socket接受队列的 reactor  五种IO模型,三种线程处理模型     回溯算法之全排列 将所有需要用到的数组包括路径数组状态数组都初始化好然后都放进dfs参数里面 这......
  • Linux实验(安装内核)
    Linux实验(安装内核)以下所有操作皆以机房电脑上的虚拟机为基础环境下载链接:Linux课程机房虚拟机#‍预备工作:打开虚拟机->设置->添加​,选择硬盘后点击下一步,全部都是默认选项​​新建磁盘后需要重启虚拟机,然后执行以下命令‍装载磁盘fdisk/dev/sdb更新分区par......
  • 进程通信--管道(存在于内核区)
    在Linux中,管道(pipe)是一种用于进程间通信(IPC)的机制,它允许数据在两个进程之间单向传输。管道有两种类型:匿名管道和命名管道(FIFO)。匿名管道匿名管道通常用于具有父子关系的进程之间的通信。它由pipe()系统调用创建。匿名管道只存在于创建它的进程及其子进程之间。匿名管道创建后,......
  • Hooking linux内核函数(一)
    本文是《HookingLinuxKernelFunctions,Part1:LookingforthePerfectSolution》的翻译文章。前言我们最近参与了一个Linux系统安全相关项目,需要hooking几个重要的Linux内核函数调用,例如打开文件和启动进程,并利用它来启用系统活动监控并抢先阻止可疑进程。最后,我们发明......
  • Hooking linux内核函数(二):如何使用Ftrace hook函数
    本文是《HookingLinuxKernelFunctions,Part2:HowtoHookFunctionswithFtrace》的翻译文章前言Ftrace是一个用于跟踪Linux内核函数的Linux内核框架。但是,当我们尝试启用系统活动监控以阻止可疑进程时,我们的团队设法找到了一种使用ftrace的新方法。事实证明,ftrace允许......
  • 为什么 mov sp, 32,debug程序,执行sp=32的位置,后面的代码就全乱了(在小甲鱼零基础汇编第6
    assumecs:code,ds:data,ss:stackdatasegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;用来作存放数据dataendsstacksegmentdw0,0,0,0,0,0,0,0;用来作栈的空间stackendscodesegmentstart:;设置数......