You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于AKS中kubectl describe node报告内存Capacity与VM内存不符的疑问

AKS节点Capacity内存与VM标称内存差异的原因

以下是导致该内存差值的核心原因:

  • 系统运行占用:AKS节点的操作系统(常见为Ubuntu或Azure Linux)需要内存来运行内核、kubelet、containerd、系统守护进程等核心组件,这部分内存不会被计入Kubernetes的Capacity字段——Kubernetes的Capacity仅统计可供Pod调度使用的物理内存,排除了系统本身占用的部分。
  • 硬件/虚拟化层预留:Azure VM的标称内存包含了硬件固件、UEFI/BIOS以及Hyper-V虚拟化层占用的内存,这部分内存对操作系统完全不可见,自然不会被Kubernetes识别为节点的可用物理内存。
  • 内核内存预留:Linux内核会固定预留一小部分内存用于自身核心功能(如页表管理、slab分配器等),这部分内存不对外开放给用户空间,因此也不会被纳入Capacity的统计范围。

你可以通过以下操作验证:

  1. 登录目标AKS节点,执行free -h命令查看系统层面的总可用内存,该数值会和kubectl describe node输出的Capacity.memory基本一致。
  2. 执行dmesg | grep -i "Memory:"查看内核初始化时识别的内存总量,会发现该数值比VM标称的64GiB小,差值就是固件和虚拟化层占用的部分。

内容的提问来源于stack exchange,提问作者Charlie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:20:30