Sunsea's Blog

不积跬步无以至千里

CentOS关闭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 

4、参考文章

https://www.evec.cc/index.php/archives/67

https://blog.csdn.net/heyuqian_csdn/article/details/78834853

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注