]> git.proxmox.com Git - pve-common.git/commitdiff
read_proc_stat: use total of fields to compute percentage
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 10 Jan 2022 04:53:00 +0000 (05:53 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 13 Jan 2022 15:11:01 +0000 (16:11 +0100)
src/PVE/ProcFSTools.pm

index 10c0cbd8bd5d0c89d547068ac7809acaed4cfabd..88df5d2b28df1cabde93685ed4a9c9dab11fe582 100644 (file)
@@ -214,11 +214,15 @@ sub read_proc_stat {
     if ($diff > 1000) { # don't update too often
        my $useddiff =  $res->{used} - $last_proc_stat->{used};
        $useddiff = $diff if $useddiff > $diff;
-       $res->{cpu} = $useddiff/$diff;
+
+       my $totaldiff = $res->{total} - $last_proc_stat->{total};
+       $totaldiff = $diff if $totaldiff > $diff;
+
+       $res->{cpu} = $useddiff/$totaldiff;
 
        my $waitdiff =  $res->{iowait} - $last_proc_stat->{iowait};
        $waitdiff = $diff if $waitdiff > $diff;
-       $res->{wait} = $waitdiff/$diff;
+       $res->{wait} = $waitdiff/$totaldiff;
 
        $last_proc_stat = $res;
     } else {