让你的腾讯轻云服务器内存在多一点 – 附防火墙放行端口、重装系统,重置root密码

博主手里这台腾讯轻云服务器,安装了Centos 7系统之后,使用 free 命令查看内存大小后发现比所购买配置的标称内存要小很多,国外主机优惠这台2G 内存的查出来也只有 1840M 左右,如下图所示(2G 内存):

这不是商家给你少分配了内存,究其原因原来是打开了kdump导致的。kdump是个好东西,但是对于低配机器就是个鸡肋了。


更多内容:/ 腾讯轻量云申请 /腾讯云 / 腾讯云轻量服务器测评/ 腾讯云测评


一:找出少掉的内存

1、底层硬件信息

使用命令 dmidecode 查看底层硬件信息,可以看到这台轻量云 2G 内存的服务器是分配足了 2048M 内存的。看图:

但是为什么使用 free 命令看到的内存变少了呢?查阅资料找到了答案:free 命令看到的是伙伴系统管理的内存,这部分内存是不包括 OS 内核一些基本数据结构消耗以及内核预留内存的。

2、内核预留内存

使用命令 dmesg | grep -i memory 查看内核预留内存,注意红框标注部分:

额,看到系统为 crashkernel 预留了 161M 的内存,很明显这就是导致我们“内存不足量”的罪魁祸首。

腾讯云提供的 Debian、Ubuntu或者Centos 系统镜像都默认开启了 kdump 服务,kdump 是获取崩溃的 Linux 内核转储的一种方法。而上面提到的“为 crashkernel 预留的内存”就是用于这一服务的,也就是导致我们“内存不足量”的元凶。

现在内存1G、2G的vps内存本来就不够,还启动这个kdump,这就导致经常因为内存不足而导致的各种错误,如sql崩溃什么的。

3、解决

既然问题是由于系统为 kdump 服务预留了一部分内存导致的,那我们直接禁止掉 kdump服务不就可以了。

(1)Centos7禁止kdump

具体命令如下:

systemctl stop kdump.service #禁止服务
systemctl disable kdump.service #禁止开机启动

(2)修改grub文件

vi /etc/default/grub

打开后可以看到类似如下的内容,将crashkernel改为0M即可

(3)重新生成grub配置文件后重启系统生效

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

(4)效果

重启之后,执行free -m 发现少掉的内存又回来了。

内存的厂家一般是按照1G=1000MB来算,计算机是二进制,1G=1024MB,所以有一点点误差是可以理解的。

二:安装宝塔放行防火墙等

4、放行防火墙

进入主机管理后再概要的右侧可以看到,或者再网络和域名这一块有防火墙设置,点击进入设置,我们可以放行需要的端口,也可以放行所有端口。

5、重装系统

不支持更换系统,再管理后台的应用信息中可以看到重置应用,点击可以重装系统。

6、 重置root密码

如果忘记密码,可以再实例信息中重置。

7、安装宝塔或者其他环境

放行防火墙端口之后,你安装宝塔面板才可以打开,不然是无法打开的。如何安装宝塔就略过了。

8、最后

个人用户来说买个低配版本的服务器,那么真是没必要保留kdump了。

至于root密码,重装之后,没有任何提示,需要你重置密码。

防火墙的问题,你可以放行所有,也可以按需放行。