紫曦博客

腾讯云关闭kdump增大可用内存

2021-03-29 576

腾讯云关闭kdump增大可用内存

相信大家会有这种经历:购买了一台1G内存的VPS,结果发现内存不够1G。内存的厂家一般是按照1G=1000MB来算,计算机是二进制,1G=1024MB,所以有一点点误差是可以理解的,可是明明买的是2G内存的VPS可是可用内存只有1.7G多,这就不对了,究其原因原来是打开了kdump导致的。

1.什么是kdump?

kdump是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务,打个比方,如果系统一旦崩溃那么正常的内核就没有办法工作了,在这个时候将由kdump产生一个用于capture当前运行信息的内核,该内核会将此时的内存中的所有运行状态和数据信息收集到一个dump core文件中以便于Red Hat工程师分析崩溃原因,一旦内存信息收集完成,系统将自动重启。这和以前的diskdump,netdump是同样道理。

2.为什么要关闭?

kdump是个好东西,不过在低配VPS面前,就变成了一个鸡肋,现在内存1G、2G的vps内存本来就不够,还启动这个kdump,这就导致经常因为内存不足而导致的各种错误,如sql崩溃什么的。

3.关闭kdump

登陆root用户

3.1、关闭kdump服务

service kdump stop

3.2、禁止开机启动

chkconfig kdump off

3.3、修改grub文件

nano /etc/default/grub
可以看到类似如下的内容,将crashkernel改为0M
GRUB_TIMEOUT=2 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=0M rhgb net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true"

3.4、重新生成grub配置文件后重启系统生效

grub2-mkconfig -o /boot/grub2/grub.cfg reboot
2