]> granicus.if.org Git - postgresql/commit
Improve our mechanism for controlling the Linux out-of-memory killer.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jun 2014 00:12:47 +0000 (20:12 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jun 2014 00:12:51 +0000 (20:12 -0400)
commitdf8b7bc9ffff5b00aacff774600b569992cddeb8
treed9136c85540b121ff5d229320cc761d336f95107
parent960661980beb50c5d21e4b2855ae109e9a130326
Improve our mechanism for controlling the Linux out-of-memory killer.

Arrange for postmaster child processes to respond to two environment
variables, PG_OOM_ADJUST_FILE and PG_OOM_ADJUST_VALUE, to determine whether
they reset their OOM score adjustments and if so to what.  This is superior
to the previous design involving #ifdef's in several ways.  The behavior is
now available in a default build, and both ends of the adjustment --- the
original adjustment of the postmaster's level and the subsequent
readjustment by child processes --- can now be controlled in one place,
namely the postmaster launch script.  So it's no longer necessary for the
launch script to act on faith that the server was compiled with the
appropriate options.  In addition, if someone wants to use an OOM score
other than zero for the child processes, that doesn't take a recompile
anymore; and we no longer have to cater separately to the two different
historical kernel APIs for this adjustment.

Gurjeet Singh, somewhat revised by me
contrib/start-scripts/linux
doc/src/sgml/runtime.sgml
src/backend/postmaster/fork_process.c