From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 41327609D8 for ; Sat, 6 Feb 2021 15:14:28 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 381F111F15 for ; Sat, 6 Feb 2021 15:13:58 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 2020611F08 for ; Sat, 6 Feb 2021 15:13:54 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id DC62841B7A; Sat, 6 Feb 2021 15:13:53 +0100 (CET) Message-ID: <9249d8d7-7e51-28ce-60c9-78683274b832@proxmox.com> Date: Sat, 6 Feb 2021 15:13:53 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:86.0) Gecko/20100101 Thunderbird/86.0 Content-Language: en-US To: Proxmox VE development discussion , Alexandre Derumier References: <20201104014137.1368988-1-aderumier@odiso.com> <20201104014137.1368988-2-aderumier@odiso.com> From: Thomas Lamprecht In-Reply-To: <20201104014137.1368988-2-aderumier@odiso.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.009 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.105 Looks like a legit reply (A) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH pve-common 1/1] add get_pressure_stat X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Feb 2021 14:14:28 -0000 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). >