原创

解决linux运存小于出厂(kdump空间的预留)


2024-08-26 15:02:36 星期一

今日使用服务器的开机的时候发现内存不够了,自己看了一下发现购买写的4g运存实际上只有3.3g,这种情况下有0.6g+的空间不见了,所以到网上查找相关资料:

1.查阅csdn-linux服务器深度历险之使用4G大内存":

CentOS 5 默认的32位内核确实不支持超过4GB的内存。要解决这个问题,需要安装并启用PAE(Physical Address Extension)内核。PAE内核可以让32位系统支持超过4GB的内存。

但是我的系统是OpenCloudOS 9系统,比较新的系统应该不太可能出现这个问题,所以首先确认OpenCloudOS 9系统是32位还是64位。使用以下命令来检查:

uname -a

输入后提示:

64位不会出现这个问题

得到当前系统是64位,并不是内核的问题,其实腾讯云也不太可能出现这种bug.

接下来查阅文件腾讯云开发-解决云服务器开机后,内存与实际不符的问题得到:

根据腾讯云的服务器界面我肯定了实体内存有4g,保险起见我使用

dmidecode -t memory

指令查询后发现物理内存果然大约4g,那么根据文献所说内核错误转储的kdump空间的预留导致的,因此查看修改grub的配置文件:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 console=ttyS0,115200 console=tty0 panic=5 intel_idle.max_cstate=1 intel_pstate=disable processor.max_cstate=1 crashkernel=2G-16G:512M,16G-:768M" 注意最后的 “crashkernel=2G-16G:512M,16G-:768M” 参数,表示系统内存在2G~16G之间的时候,kdump使用512M内存

因此根据文献将参数crashkernel删除:

之后按照文献中使用

sudo grub-mkconfig -o /boot/grub/grub.cfg

提示command not found,我这个问题实际是版本问题,比较新的版本比如在OpenCloudOS 9系统中该命令路径与旧版不同不同。

当然也可能是工具未安装,检查GRUB工具是否已安装: 确认GRUB工具是否已安装: rpm -q grub2-tools 如果未安装,可以使用以下命令安装: sudo yum install grub2-tools

OpenCloudOS 9通常使用grub2-mkconfig命令来生成GRUB配置文件。运行以下命令来生成GRUB配置文件:

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

之后使用reboot重启服务器即可正常,3.8g就正常了.

教程
bug