pve的web页面显示虚拟机内存偏高

佬们有没有遇到过这个问题?


PVE的web客户端显示129服务器内存已使用16.68GB,但是实际上该虚拟机为6.9GB。
image
我想问下,PVE统计的内存使用情况是怎么来的?

5 个赞

虚拟机装virio驱动,宿主机开qemu代理了吗

Linux也要安装virio驱动吗? 虚拟机安装了qemu guest agent,qemu代理已开启

实际上虚拟机申请的内存不等于pve显示已使用的内存也不等于虚拟机显示出来的内存占用信息


image
102是win server操作系统,但是他显示的内存就很准确,只有Linux操作系统的虚拟机在pve上内存占用显示偏高 :flushed:

我记得这个好像是 pve 对 linux 内存占用计算的问题。htop 命令看下,pve 是把黄色的 cache 占用的内存也计算上了。

按照这个算法,你上面的 linux 内存占用应该是 6937(实际使用) + 11128(buffer cache) = 18065 / 1024 = 17.6416015625 和 pve 的数字就差不多了。

我的解决办法是写了个定时脚本自动定时清理没被自动回收的 buffer cache.

echo 1 > /proc/sys/vm/drop_caches

我也这样计算过,但是得到的结果和pve的结果还有误差,所以就很疑惑,到底是我漏了哪些步骤?还是pve内存计算公式和我的不一样 :disappointed_relieved:


就是说6.44G只是绿色部分的内存吗?

是的。你试一下 echo 1 > /proc/sys/vm/drop_caches 把buff cache 清理掉,数字应该就差不多。

好的,多谢佬 :bili_110:

也需要装,你的windows虚拟机是不是也是分多少内存,独占多少内存,在母鸡的进程那边

内存是不是独占我不太清楚,新手玩家,创建虚拟机都是默认下一步,我去安装virio驱动试一下 :bili_110:

你把linux重启之后就正常了,但是过一段时间又会这样子;

在linux通过执行 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches 会短暂恢复

请问 qemu代理是啥啊?
我也鼓捣PVE但是我虚拟机只有一个黑群一个op,其他都是CT容器跑docker。

安装qemu后,可以在PVE的web端看到虚拟机的ips,内存也相对准确。
image
image
至于qemu具体干什么的,原理是什么,我没有深究过 :shushing_face:

怎么安装啊?我去百度一下