银河麒麟操作系统free查看服务器的内存,为什么比实际物理内存少很多?
创始人
2025-05-28 11:07:48

问题描述:

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

#银河麒麟服务器高级操作系统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模式:

grub2-mkconfig -o /boot/efi/EFI/操作系统/grub.cfg

当启动方式为legacv时:

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

修改完执行

reboot

参考:

  • kdump基本概念
  • 麒麟操作系统kdump配置(手动调整预留内存大小和内核崩溃测试)
  • linux下修改grub及其/etc/default/grub开机引导文件说明

相关内容

热门资讯

替用户养牛,却让别人做奶?“网... 本文来源:消费者报道 作者:三悠 在中国乳业,自有牧场和工厂几乎是头部品牌的标配,用以保障奶源品质、...
90%的人泡杨梅酒都踩坑了!这... 杨梅酒是许多人钟爱的夏日饮品,自制杨梅酒不仅可以享受到新鲜果酒的香甜,还能体会手作的乐趣。然而,很多...
与中食国粮共探酱香白酒健康化 ... 与中食国粮共探酱香白酒健康化 茅台保健酒业新品论证会举行 2026年4月13日,中食国粮药食同源大健...
葡萄酒到底怎么分类?别再只分“... 很多人第一次接触葡萄酒时,对它的理解通常只有两种: 红的,或者白的。 再往后一点,可能会知道“干红...
夏天喝什么葡萄酒最舒服?比“冰... 一到夏天,很多人会下意识觉得:红酒是不是不适合这个季节? 天气热、胃口轻,厚重的酒确实容易让人有负担...