我们上次说腾讯云的运行内存水分大,结果把官方引来了(当你买了一台Linux云主机,应该如何测试主机性能?用轻量应用服务器的注意了,0.5GB内存的规格请谨慎使用)。
图片
捎带着,他还介绍了腾讯云有关关闭kdump的帮助文档,链接如下:
https://cloud.tencent.com/document/product/213/17277
图片
咱就说,这种上下重复的情况也不提前审核一下。这里的每个链接都是跳转到对应操作系统官方的操作手册,但是里面还写了一个禁用Kdump服务的方法:
systemctl stop kdump.service
图片
不禁发问,官方这文档也不负责准确性啊。我们再看看Ubuntu的官方文档:
https://ubuntu.com/server/docs/kernel-crash-dump
但是呢,官方的文档也只是介绍了Kdump的作用、机制、安装及配置,没有介绍怎么移除。感觉被戏耍了!
既然没有路,那我就趟一条路出来!
图片
通过查询,我们可以知道在Ubuntu 24.04这个版本里面,Kdump对应的软件是kdump-tools,对应的服务是kdump-tools。此外,在GRUB引导的配置文件/boot/grub/grub.cfg中,里面有一个Kdump的配置,也就是“crashkernel=2G-8G:256M,8G-16G:512M,16G-:768M”,根据这里的介绍,对于2 GB - 8 GB运行内存的主机,为崩溃转储保留的内存大小设置为256 MB,对于8 GB - 16 GB运行内存的主机,为崩溃转储保留的内存大小设置为512 MB,运行内存大于16 GB的主机,为崩溃转储保留的内存大小设置为768 MB。这么看的话,我们的主机关闭Kdump之后,理论上可以获得256 MB大小的内存增长,大概能涨到1968 MB。
图片
问题确认,开始操作。
首先,先把kdump-tools软件包卸载掉。
apt-get purge kdump-tools -y
图片
然后,把我们刚才介绍的GRUB配置文件/etc/default/grub中crashkernel的那一段参数删掉。
图片
更新GRUB配置。
update-grub
图片
重建更新所有内核的initramfs。
update-initramfs -u -k all
图片
到这里,就可以重启主机验证一下了。
图片
可以,还真是1968 MB,一点不差。
因为我用的是轻量应用云主机,没有什么重要业务,释放内存一定程度上可以提高系统的运行速度。对于正常使用的业务云主机而言,开启Kdump之后,在系统崩溃时Kdump可以捕获内存状态,提供详细的崩溃信息,帮助诊断和修复问题。对于开发人员,尤其是内核开发者,kdump是宝贵的调试工具,通过分析崩溃数据,可以提高系统的稳定性和可靠性。
如果关闭了Kdump,系统崩溃时将失去崩溃数据,无法获取内存转储,难以诊断和解决崩溃原因。在关键系统中,保持kdump启用以确保快速故障排除和合规性才是明智的选择。