银河麒麟操作系统free查看服务器的内存,为什么比实际物理内存少很多?

2024-08-05 11:40:42 浏览数 (2)

问题描述:

银河麒麟操作系统创建成功后,free -m命令查询内存大小,查询结果比实际物理内存小很多。

代码语言:txt复制
#银河麒麟服务器高级操作系统V10
[root@localhost kvms]# uname -a
Linux localhost.localdomain 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux

创建的虚拟机实际内存为8192M。系统内查询可用内存为6807M

使用dmidecode -t memory命令查看实际的硬件内存大小,free -m查询系统内内存大小如下:

可以看到使用dmidecode -t memory查看的内存大小与实际配置一致。

下图为redhat7.9,配置的实际内存为8192M,free -m查询结果为

问题原因

首先,系统启动时会初始化相关设备,该过程会占用内存,内核启动时,也会占用一部分的内存。其中,kdump占用的内存是可以自行设置的,如无特殊要求,请勿自行修改kdump占用的内存大小。

其次,free -m命令查询的是服务器的可用内存,dmidecode -t memory命令查询的是实际硬件内存大小。

因此,使用free -m命令查询到的内存大小比实际的要小一些,属于正常情况,非问题。

说明:物理机同样存在该问题。

关闭或调小银河麒麟操作系统默认分配的kdump内存值

kdump默认分配内存为1024M

1.修改kdump分配的内存

或 删除crashkernel=auto,high 字段,(关闭kdump服务systemctl stop kdump.service,disable kdump服务systemctl disable kdump.service。不做该步骤也可以释放kdump预留内存。),配置同步grub.cfg。

2.配置同步grub.cfg。

通过测试发现:/boot/grub2/下没有grub.cfg,那么启动方式为UEFI。反之,启动方式为legacv。

当启动方式UEFI模式:

代码语言:txt复制
grub2-mkconfig -o /boot/efi/EFI/操作系统/grub.cfg

当启动方式为legacv时:

代码语言:txt复制
grub2-mkconfig -o /boot/grub2/grub.cfg

修改完执行

代码语言:txt复制
reboot

0 人点赞