* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox