主 题:Hyper-V 动态内存导致 MemTotal 缩水,8G 的机器 NQ 只测出 2G 问题排查
发 布 者:wenwensen
标签分类: 技术
时 间:2026-10-13 02:35:14
内容预览:此贴含AI生成内容我购买的 ResidentialVPS Pro,商家交付的系统是 Win10 Pro,我自己 DD 成了 Debian 12。跑 NQ 时内存项显示 2G 左右,和实际的 8G 对不上。查了之后发现原因和动态内存有关。这台机器运行在 Hyper-V 上,宿主机启用了动态内存(Dynamic Memory),目的是让物理内存能被多台虚拟机共用。虚拟机内的 hv_balloon 驱动会配合宿主机把内存交还回去,交还的部分会从内核的受管内存计数里扣掉,而 MemTotal 正是从该计数算出来的,所以只剩被扣完后的数额,物理内存并没有消失。现象lscpu 显示 Hypervisor vendor 是 Microsoft,8 vCPU。当时 free -m: total used free shared buff/cache availableMem: 411 302 199 0 79 109同时 /sys/devices/system/memory/ 下 64 个 128MB 内存块全部为 online,合计正好 8G。dmesg | grep hv_balloon:[ 2.636706] hv_balloon: Using Dynamic Memory protocol version 2.0[ 50.734813] hv_balloon: Max. dynamic memory size: 8192 MB[ 518.759474] hv_balloon: Balloon request will be partially fulfilled. Balloon floor
直达链接: https://www.nodeseek.com/post-979627-1
 
 
Back to Top