在 VMWare 中减少 RAM 大小后,Debian VM 显示不正确的 RAM 大小

在 VMWare 中减少 RAM 大小后,Debian VM 显示不正确的 RAM 大小

我有一个运行 Debian 12.1 的 Linux VM。最初,我给它分配了 16GB RAM。然而,我后来意识到我实际上不需要那么多内存,8GB 就足够了。我关闭了虚拟机并将VMWare中的内存分配调整为8GB。当我启动 Linux VM 时,我可以通过检查“dmesg”输出来确认新的内存大小,该输出正确显示了调整后的大小。

$ sudo dmesg | grep memory
[    2.967853] vmwgfx 0000:00:0f.0: [drm] Legacy memory limits: VRAM = 8192 kB, FIFO = 256 kB, surface = 0 kB
[    2.967859] vmwgfx 0000:00:0f.0: [drm] Maximum display memory size is 8192 kiB

但是,旧的内存分配值仍然显示在“top”、“free”等工具和“/proc/meminfo”文件中。

$ free
               total        used        free      shared  buff/cache   available
Mem:        16376480      477100    15924248         636      240124    15899380
Swap:         998396           0      998396

$ cat /proc/meminfo
MemTotal:       16376480 kB
MemFree:        15923996 kB

我该如何解决这种不一致?

答案1

经过一番调查,我在 Grub2 中发现了一个“mem”参数。

$ sudo vim /etc/default/grub
...
GRUB_CMDLINE_LINUX="mem=8192m"
...
$ sudo update-grub

重新启动后,top/proc/meminfo/free 显示准确的内存值。

更新:我想向克里斯·戴维斯和亨里克表示感谢——你们是完全正确的。我无法直接控制该虚拟机;我只有 SSH 访问权限。管理它的人没有正确调整 RAM 大小。

相关内容