* [pve-devel] SPAM: [PATCH v2 qemu-server 0/3] vmstatus: add pressure + hostcpu/hostmem
@ 2021-02-17 17:08 Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 1/3] vmstatus: add hostcpu value Alexandre Derumier
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alexandre Derumier @ 2021-02-17 17:08 UTC (permalink / raw)
To: pve-devel
This add new cgroups value stats.
hostcpu/hostmem give the real cpu/mem usage of a vm, including vhost-net.
Changelog v2:
- rebase on last master
- use new pressure code from pve-common
Alexandre Derumier (3):
vmstatus: add hostcpu value
vmstatus: add hostmem value
vmstatus: add pressure stats
PVE/QemuServer.pm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] [PATCH v2 qemu-server 1/3] vmstatus: add hostcpu value
2021-02-17 17:08 [pve-devel] SPAM: [PATCH v2 qemu-server 0/3] vmstatus: add pressure + hostcpu/hostmem Alexandre Derumier
@ 2021-02-17 17:08 ` Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 2/3] vmstatus: add hostmem value Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] SPAM: [PATCH v2 qemu-server 3/3] vmstatus: add pressure stats Alexandre Derumier
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Derumier @ 2021-02-17 17:08 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
PVE/QemuServer.pm | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index f401baf..52db3d3 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2657,8 +2657,11 @@ sub vmstatus {
my $pstat = PVE::ProcFSTools::read_proc_pid_stat($pid);
next if !$pstat; # not running
+ my $cgroups = PVE::QemuServer::CGroup->new($vmid);
+ my $hostcpustat = $cgroups->get_cpu_stat();
my $used = $pstat->{utime} + $pstat->{stime};
+ my $hostused = $hostcpustat->{utime} + $hostcpustat->{stime};
$d->{uptime} = int(($uptime - $pstat->{starttime})/$cpuinfo->{user_hz});
@@ -2672,6 +2675,9 @@ sub vmstatus {
time => $ctime,
used => $used,
cpu => 0,
+ hostused => $hostused,
+ hostcpu => 0,
+
};
next;
}
@@ -2680,15 +2686,20 @@ sub vmstatus {
if ($dtime > 1000) {
my $dutime = $used - $old->{used};
+ my $dhostutime = $hostused - $old->{hostused};
$d->{cpu} = (($dutime/$dtime)* $cpucount) / $d->{cpus};
+ $d->{hostcpu} = (($dhostutime/$dtime)* $cpucount) / $d->{cpus};
$last_proc_pid_stat->{$pid} = {
time => $ctime,
used => $used,
cpu => $d->{cpu},
+ hostused => $hostused,
+ hostcpu => $d->{hostcpu},
};
} else {
$d->{cpu} = $old->{cpu};
+ $d->{hostcpu} = $old->{hostcpu};
}
}
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] [PATCH v2 qemu-server 2/3] vmstatus: add hostmem value
2021-02-17 17:08 [pve-devel] SPAM: [PATCH v2 qemu-server 0/3] vmstatus: add pressure + hostcpu/hostmem Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 1/3] vmstatus: add hostcpu value Alexandre Derumier
@ 2021-02-17 17:08 ` Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] SPAM: [PATCH v2 qemu-server 3/3] vmstatus: add pressure stats Alexandre Derumier
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Derumier @ 2021-02-17 17:08 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
PVE/QemuServer.pm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 52db3d3..3a623c5 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2668,6 +2668,11 @@ sub vmstatus {
if ($pstat->{vsize}) {
$d->{mem} = int(($pstat->{rss}/$pstat->{vsize})*$d->{maxmem});
}
+ if (defined(my $hostmemstat = $cgroups->get_memory_stat())) {
+ $d->{hostmem} = $hostmemstat->{mem};
+ } else {
+ $d->{hostmem} = 0;
+ }
my $old = $last_proc_pid_stat->{$pid};
if (!$old) {
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] SPAM: [PATCH v2 qemu-server 3/3] vmstatus: add pressure stats
2021-02-17 17:08 [pve-devel] SPAM: [PATCH v2 qemu-server 0/3] vmstatus: add pressure + hostcpu/hostmem Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 1/3] vmstatus: add hostcpu value Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 2/3] vmstatus: add hostmem value Alexandre Derumier
@ 2021-02-17 17:08 ` Alexandre Derumier
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Derumier @ 2021-02-17 17:08 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
PVE/QemuServer.pm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 3a623c5..f99f969 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2706,6 +2706,8 @@ sub vmstatus {
$d->{cpu} = $old->{cpu};
$d->{hostcpu} = $old->{hostcpu};
}
+
+ $d->{pressure} = $cgroups->get_pressure_stat();
}
return $res if !$full;
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-02-17 17:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-17 17:08 [pve-devel] SPAM: [PATCH v2 qemu-server 0/3] vmstatus: add pressure + hostcpu/hostmem Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 1/3] vmstatus: add hostcpu value Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] [PATCH v2 qemu-server 2/3] vmstatus: add hostmem value Alexandre Derumier
2021-02-17 17:08 ` [pve-devel] SPAM: [PATCH v2 qemu-server 3/3] vmstatus: add pressure stats Alexandre Derumier
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.