[Python-Dev] obmalloc mmap/munmap thrashing
Neil Schemenauer
neil at python.ca
Thu Apr 21 17:44:52 EDT 2016
I was running Python 2.4.11 under strace and I noticed some odd
looking system calls:
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9848681000
munmap(0x7f9848681000, 262144) = 0
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9848681000
munmap(0x7f9848681000, 262144) = 0
[... repeated a number of times ...]
Looking at obmalloc.c, there doesn't seem to be any high/low
watermark (hysteresis) associated with unallocating arenas. Is that
true? If so, does it seem prudent to implement something to avoid
this behavior? It seems potentially expensive if you program is
running just at the threshold of needing another arena.
More information about the Python-Dev
mailing list