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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com