现在使用的阿里云ECS是99元套餐,2核2G的配置,但实际能看到的内存数量是1.6G。随着ECS上挂载的东西越来越多,内存有点点不够用了。现在,我们可以通过关闭Kdump来释放部分内存给业务使用。

2024.12 北京·天坛

操作

1
2
3
4
5
6
7
8
9
10
# 关闭服务
systemctl disable --now kdump.service
# 查看服务状态
systemctl status kdump
# 修改grub配置文件中crashkernel参数
sed -i "s/1G-4G:160M/1G-4G:0M/g" /etc/default/grub
# 重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启
systemctl reboot

表现

修改前

修改后

Kdump

Kdump是在系统崩溃、死锁或死机时用来转储内存运行参数的一个工具和服务,是一种新的crash dump捕获机制,用来捕获kernel crash(内核崩溃)的时候产生的crash dump。在第一kernel在运行的时候,系统内部在内存中就已经留存好了给第二kernel(捕获内核)的预留空间(这个预留空间的大小可以自己设定)。在第一kernelcrash的时候,就会进入第二kernel,在第二kernel中执行用户态程序makedumpfile对第一kernel的内存镜像进行裁剪和压缩,最后将第一kernel的vmcore保留在磁盘中并重启。