--- PVE/QemuServer.pm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index af74d64..0c2b1db 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2647,8 +2647,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}); @@ -2662,6 +2665,9 @@ sub vmstatus { time => $ctime, used => $used, cpu => 0, + hostused => $hostused, + hostcpu => 0, + }; next; } @@ -2670,15 +2676,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
_______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel