> 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.