On Tue, 2020-05-05 at 07:56 +0200, Marc Rechté wrote:
Thanks for answers. Further readings make me think that we should *not*
start postgres with numactl --interleave=all: this may have counter
productive effect on backends anon memory (heap, stack). IMHO, what is
important is to use Huge Pages for shared buffers: they are allocated
(reserved) by the kernel at boot time and spread evenly on all nodes. On
top of that they never swap.
My (temp) conclusions are following:
vm.zone_reclaim_mode = 0
kernel.numa_balancing = 0 (still not sure with that choice)
wm.swappiness = 60 (default)
start postgres as usual (no numactl)
Thanks for sharing your insights.
I think that "vm.swappiness" should be 0.
PostgreSQL does its own memory management, any swapping by the kernel
would go against that.
Yours,
Laurenz Albe
As said in the post, we wish the idle backends to be swapped out if
necessary. Therefore lowering swappiness would produce the opposite
effect: swapping out Linux file cache rather than backends memory.