Ubuntu Server 中实际内存与物理内存不相等的问题

本文探讨了Ubuntu Server中kdump服务默认占用128M内存的现象,解释了kdump服务的作用及其对内核故障分析的重要性。文章还提供了关闭kdump服务的方法,包括修改grub启动参数和禁用kdump服务,以及与CentOS内存管理对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录

来源 v2ex,提到了一个平时不是很起眼的问题,Ubuntu Server 中系统默认会占用 128M 内存,用于 CVM 内部的 kdump 服务。

科普

  1. 查看 CVM 所拥有的物理内存
    通过 dmidecode 命令查看底层硬件信息
  2. 为什么 free 看到的内存会少了?
    free 里面看到的是伙伴系统管理的内存,这部分内存不包括 OS 内核一些基本数据结构的消耗以及内核的一些预留。内核预留内存,可以在 CVM 启动后,通过命令查看 dmesg | grep -i memory
  3. Ubuntu 这里预留的 128M 内存,用于了 CVM 内部的 kdump 服务
  4. 什么是 kdump 服务呢?为什么开启 kdump 呢?
    当 OS 内核出现了故障(如内核 bug 导致),kdump 服务会协助生产一个 dump 文件,类似于应用程序的 coredump。开启 kdump 的目的,是为了在内核出现 bug 时,提供足够信息,便于客户后续内核 bug 问题定位分析
  5. 如何关闭 kdump
    1. 修改 grub 启动参数,关闭 kdump 预留。在 /etc/default/grub.d/kexec-tools.cfg 和 /etc/default/grub 配置文件中,将“ crashkernel=XXX ”这样的配置参数去掉,然后执行 update-grub2 更新 grub 引导文件
    2. 关闭 kdump 服务 systemctl disable kdump-tools
    3. 重启 CVM,可以看到内存变多了
  6. 为什么同样是 1G 的内存,centos 看起来要多一些呢?
    在 1G 内存下,centos 系统默认没有开启 kdump,没有预留到内存,所以会多一些,而 Ubuntu 默认开启了 kdump

转载于:https://www.cnblogs.com/HintLee/p/9535949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值