On 04.11.20 02:41, Alexandre Derumier wrote:
> ---
>  src/PVE/CGroup.pm | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/src/PVE/CGroup.pm b/src/PVE/CGroup.pm
> index 4823be2..457502e 100644
> --- a/src/PVE/CGroup.pm
> +++ b/src/PVE/CGroup.pm
> @@ -358,6 +358,49 @@ sub get_memory_stat {
>      return $res;
>  }
>  
> +# Parse some memory data from `memory.stat`
> +sub get_pressure_stat {
> +    my ($self) = @_;
> +
> +    my $res = {
> +     cpu => {
> +         some => { avg10 => 10, avg60 => 0, avg300 => 0 }

here too, why 10 as default for the avg over the last 10 seconds?

> +     },
> +     memory => {
> +         some => { avg10 => 10, avg60 => 0, avg300 => 0 },
> +         full => { avg10 => 10, avg60 => 0, avg300 => 0 }
> +     },
> +     io => {
> +         some => { avg10 => 10, avg60 => 0, avg300 => 0 },
> +         full => { avg10 => 10, avg60 => 0, avg300 => 0 }
> +     },
> +    };
> +
> +    my ($path, $ver) = $self->get_path(undef, 1);
> +    if (!defined($path)) {
> +     # container or VM most likely isn't running
> +     return undef;
> +    } elsif ($ver == 2) {
> +
> +     foreach my $type (qw(cpu memory io)) {
> +         if (my $fh = IO::File->new ("$path/$type.pressure", "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;
> +         }
> +     }
> +    } else {
> +     die "bad cgroup version: $ver\n";
> +    }
> +
> +    return $res;
> +}
> +
>  # Change the memory limit for this container.
>  #
>  # Dies on error (including a not-running or currently-shutting-down guest).
> 



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to