centos 释放系统预留内存并关闭Kdump服务

背景:Kdump是Linux系统的一种内核崩溃转储机制,它允许在系统发生内核崩溃(例如内核panic)时,捕获内存的转储信息,从而帮助事后分析故障原因。该过程需要一块预留内存(称为crashkernel内存),以确保即使在系统崩溃时也有足够的内存来保存内核转储信息。本文介绍如何查看并调整Linux实例的预留内存。

当前环境centos 7.9

1、执行以下命令,确认系统是否已开启crashkernel。

shell 复制代码
[root@iZ8vb0megztnuiby7tycz3Z ~]# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.10.0-1160.119.1.el7.x86_64 root=UUID=c8b5b2da-5565-4dc1-b002-2a8b07573e22 ro crashkernel=auto spectre_v2=retpoline rhgb q 

2、执行以下命令,查看系统预留内存大小。

shell 复制代码
 [root@iZ8vb0megztnuiby7tycz3Z ~]# cat /sys/kernel/kexec_crash_size
 168820736 

3、执行以下命令,查询是否开启Kdump服务

shell 复制代码
[root@iZ8vb0megztnuiby7tycz3Z ~]# sudo systemctl status kdump
 ● kdump.service - Crash recovery kernel arming 
 Loaded: loaded (/usr/lib/systemd/system/kdump.service; disabled; vendor preset: enabled)

根据当前的信息来看,目前系统中Kdump服务已经是关闭了的,当前系统中仍预留了一部分内存用于该服务。

4、释放当前系统预留内存大小

shell 复制代码
sh -c 'echo 0 > /sys/kernel/kexec_crash_size' 

5、永久关闭系统预留内存

  1. 备份grub配置文件
shell 复制代码
sudo cp /etc/default/grub /etc/default/grub.bak
  1. 删除crashkernel内容并保存grub配置文件
shell 复制代码
sudo vim /etc/default/grub
GRUB_TIMEOUT=1 
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true 
GRUB_TERMINAL_OUTPUT="console" 
GRUB_CMDLINE_LINUX="quiet splash spectre_v2=retpoline rhgb quiet net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295" 
GRUB_DISABLE_RECOVERY="true" 
  1. 更新grub配置
shell 复制代码
 sudo grub2-mkconfig -o /boot/grub2/grub.cfg 
  1. 验证:reboot后执行cat /sys/kernel/kexec_crash_size 值为0,即为生效。

参考文档

相关推荐
Sinowintop12 分钟前
易连EDI-EasyLink SFTP文件传输
运维·服务器·网络·sftp·edi·ftp·国产edi软件
风123456789~2 小时前
【Linux专栏】显示或隐藏行号、批量注释
linux·运维·服务器
谢尔登3 小时前
简单聊聊webpack摇树的原理
运维·前端·webpack
只想安静的写会代码4 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
susu10830189114 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
r***F2624 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
smaller_maple5 小时前
linux问题记录1
linux·运维·服务器
v***8576 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
报错小能手6 小时前
讲讲libevent底层机制
linux·服务器
阿星智力囊7 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6