[Python-Dev] The untuned tunable parameter ARENA_SIZE

Siddhesh Poyarekar siddhesh at gotplt.org
Thu Jun 1 05:05:00 EDT 2017


On Thursday 01 June 2017 01:53 PM, INADA Naoki wrote:
> * On Linux, madvice(..., MADV_DONTNEED) can be used.

madvise does not reduce the commit charge in the Linux kernel, so in
high consumption scenarios (and where memory overcommit is disabled or
throttled) you'll see programs dying with OOM despite the MADV_DONTNEED.
 The way we solved it in glibc was to use mprotect to drop PROT_READ and
PROT_WRITE in blocks that we don't need when we detect that the system
is not configured to overcommit (using /proc/sys/vm/overcommit_memory).
You'll need to fix the protection again though if you want to reuse the
block.

Siddhesh


More information about the Python-Dev mailing list