read new /proc/pressure/(cpu,disk,io) introduced in kernel 4.20. This give more granular informations than loadaverage.
Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- src/PVE/ProcFSTools.pm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/PVE/ProcFSTools.pm b/src/PVE/ProcFSTools.pm index 7cf1472..7687c13 100644 --- a/src/PVE/ProcFSTools.pm +++ b/src/PVE/ProcFSTools.pm @@ -132,6 +132,24 @@ sub read_loadavg { return wantarray ? (0, 0, 0) : 0; } +sub read_pressure { + + my $res = {}; + foreach my $type (qw(cpu memory io)) { + if (my $fh = IO::File->new ("/proc/pressure/$type", "r")) { + while (defined (my $line = <$fh>)) { + if ($line =~ /^(some|full)\s+avg10\=(\d+\.\d+)\s+avg60\=(\d+\.\d+)\s+avg300\=(\d+\.\d+)\s+total\=(\d+)/) { + $res->{$type}->{$1}->{avg10} = $2; + $res->{$type}->{$1}->{avg60} = $3; + $res->{$type}->{$1}->{avg300} = $4; + } + } + $fh->close; + } + } + return $res; +} + my $last_proc_stat; sub read_proc_stat { -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel