昨天在阿里云购买了一台阿里云“99计划”99元ECS服务器。
服务器在安装1panel面板的时候,安装完后发现运存只有1.58G可用,在网上搜索发现也有类似的现象,其原因是阿里云的Ubuntu镜像默认开启了预留内存(Crashkernel)。
下面是查看和释放预留内存的方法
查看预留内存
首先我们需要查看系统是否开启了crashkernel
sudo cat /proc/cmdline
如果输出的内容中带有crashkernel的字符串,则有可能开启了crashkernel

然后我们再看看预留了多少内存
sudo cat /sys/kernel/kexec_crash_size
输出的数字就是预留内存的大小,单位为字节

如上图内的数字换算,可得知博主的服务器预留了256MB的内存
释放预留内存
接下来我们开始释放这些预留内存(注:如果服务器内有重要数据建议先备份再操作,以免造成数据丢失。)
首先我们输入下面这个命令
sudo vim /etc/default/grub
按键盘“i”键进入编辑模式,用键盘上的方向键控制移动光标
找到 GRUB_CMDLINE_LINUX 那一行,删掉 crashkernel=0M-1G:0M,1G-4G:256M,4G-64G:384M,64G-:512M
编辑完成后文本应如下图所示:

然后按住键盘上的“ESC”键,输入 :wq 后→回车键进行保存
再输入以下命令更新一下配置
sudo update-grub
关闭Kdump服务
sudo systemctl disable kdump-tools sudo systemctl stop kdump-tools
重启一下系统
sudo reboot
重启完成后再输入这个命令查看预留内存信息
sudo cat /sys/kernel/kexec_crash_size
此时的结果应该显示为0,然后在1panel面板中也可以看到内存从1.58G涨到了1.83G
本文参考自:https://help.aliyun.com/zh/ecs/user-guide/view-and-change-the-size-of-reserved-memory-on-a-linux-instance



您好,您需要登录后才能发表评论