Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WuOF5-0002PH-2v for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Jun 2014 15:45:43 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1WuOF4-000138-E2 for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Jun 2014 15:45:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1WuOF3-00012v-G4 for pgsql-hackers@postgresql.org; Tue, 10 Jun 2014 15:45:41 +0000 Received: from mail.anarazel.de ([217.115.131.40]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WuOEz-0005D0-NE for pgsql-hackers@postgresql.org; Tue, 10 Jun 2014 15:45:40 +0000 Received: from intern.anarazel.de (p5DDC5B67.dip0.t-ipconnect.de [93.220.91.103]) (Authenticated sender: andres@anarazel.de) by mail.anarazel.de (Postfix) with ESMTPSA id 3E7164E8006; Tue, 10 Jun 2014 17:45:37 +0200 (CEST) Date: Tue, 10 Jun 2014 17:45:36 +0200 From: Andres Freund To: Robert Haas Cc: Tom Lane , Gurjeet Singh , Peter Eisentraut , PGSQL Hackers Subject: Re: /proc/self/oom_adj is deprecated in newer Linux kernels Message-ID: <20140610154536.GN8406@alap3.anarazel.de> References: <15953.1316362868@sss.pgh.pa.us> <1316420754.14001.3.camel@fsopti579.F-Secure.com> <16241.1316441883@sss.pgh.pa.us> <28946.1402408948@sss.pgh.pa.us> <30117.1402411876@sss.pgh.pa.us> <30601.1402413283@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 2014-06-10 11:35:23 -0400, Robert Haas wrote: > > Because it would convert the intended behavior (postmaster and only > > postmaster is exempt from OOM kill) into a situation where possibly > > all of the database processes are exempt from OOM kill, at the whim > > of somebody who should not have the privilege to decide that. > > Gurjeet already refused that argument. Only that he was wrong: ~# echo -500 > /proc/$BASHPID/oom_score_adj ~# su andres ~$ echo -1000 > /proc/$BASHPID/oom_score_adj bash: echo: write error: Permission denied # so I can't decrease the likelihood ~$ echo -400 > /proc/$BASHPID/oom_score_adj # but I can increase it ~$ echo -500 > /proc/$BASHPID/oom_score_adj # but also *reset* it Since we have to do the adjustment after the fork - otherwise the postmaster would be vulnerable for a time - normal backends can reset their score. > Apparently, the child > processes can only increase their chance of being OOM-killed, not > decrease it, so you have this exactly backwards: right now, an > individual system administrator can exempt all of the database > processes from OOM kill, but cannot exempt the postmaster alone. Well, if you compile postgres with the #define it'll reset the likelihood after the fork? That's the reset? Or do you mean without compiling postgres with the option? Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers