среда, 31 марта 2021 г. в 14:16:30 UTC+3, Inada Naoki: > > ********** Before first run: > > # arenas allocated total = 776 > > # arenas reclaimed = 542 > > # arenas highwater mark = 234 > > # arenas allocated current = 234 > > 234 arenas * 262144 bytes/arena = 61,341,696 > > ********** After first run: > > # arenas allocated total = 47,669 > > # arenas reclaimed = 47,316 > > # arenas highwater mark = 10,114 > > # arenas allocated current = 353 > > 353 arenas * 262144 bytes/arena = 92,536,832 > > ********** After second run: > > # arenas allocated total = 63,635 > > # arenas reclaimed = 63,238 > > # arenas highwater mark = 10,114 > > # arenas allocated current = 397 > > 397 arenas * 262144 bytes/arena = 104,071,168 > OK, memory allocated by obmalloc is 61MB -> 92MB -> 104MB. > > Memory usage increasing, but it is much smaller than 1GB. 90% memory > is allocated by malloc(). > > You should try jemalloc. Trying jemalloc is not hard. You don't need > to rebuild Python. > Google "<your platform> jemalloc LD_PRELOAD". > > > -- > Inada Naoki <songof...@gmail.com>
With jemalloc it looks like a memory leak :D After first run it grabs 980Mb, second run 1.4Gb then 2.6Gb and so on -- https://mail.python.org/mailman/listinfo/python-list