[pve-devel] [PATCH manager v4 12/15] fix #6068: ui: utils: calculate and render host memory usage correctly

Aaron Lauterer a.lauterer at proxmox.com
Sat Jul 26 03:06:16 CEST 2025


by adding the new memhost field, which is populated for VMs, and
using it if the guest is of type qemu and the field is numerical.

As a result, if the cluster is in a mixed PVE8 / PVE9 situation, for
example during a migration, we will not report any host memory usage, in
numbers or percent, as we don't get the memhost metric from the older
PVE8 hosts.

Fixes: #6068 (Node Search tab incorrect Host memory usage %)
Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---
 www/manager6/Utils.js              | 6 ++++++
 www/manager6/data/ResourceStore.js | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index e403db40..57a818f6 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -1160,6 +1160,9 @@ Ext.define('PVE.Utils', {
                 return -1;
             }
 
+            if (data.type === 'qemu' && Ext.isNumeric(data.memhost)) {
+                return data.memhost / maxmem;
+            }
             return data.mem / maxmem;
         },
 
@@ -1203,6 +1206,9 @@ Ext.define('PVE.Utils', {
             if (record.data.mem > 1) {
                 // we got no percentage but bytes
                 let mem = record.data.mem;
+                if (record.data.type === 'qemu' && Ext.isNumeric(record.data.memhost)) {
+                    mem = record.data.memhost;
+                }
                 if (!record.data.uptime || maxmem === 0 || !Ext.isNumeric(mem)) {
                     return '';
                 }
diff --git a/www/manager6/data/ResourceStore.js b/www/manager6/data/ResourceStore.js
index 13af3b4e..d1f3fb63 100644
--- a/www/manager6/data/ResourceStore.js
+++ b/www/manager6/data/ResourceStore.js
@@ -167,6 +167,14 @@ Ext.define('PVE.data.ResourceStore', {
                 hidden: true,
                 width: 100,
             },
+            memhost: {
+                header: gettext('Host Memory usage'),
+                type: 'integer',
+                renderer: PVE.Utils.render_mem_usage,
+                sortable: true,
+                hidden: true,
+                width: 100,
+            },
             memuse: {
                 header: gettext('Memory usage') + ' %',
                 type: 'number',
-- 
2.39.5





More information about the pve-devel mailing list