(I'm ignoring anything special which Python has layered
on top of malloc. It can mitigate problems, but I don't think
it will fundamentally change the way malloc interacts with the
kernel.
. The data wasn’t increasing so there must have been some memory leak.
It’s not so easy for a Python application to leak memory. Usually there are three scenarios:
1. some low level C library is leaking
2. your Python code have global lists or dicts that grow over time, and you forgot to remove the objects after use
3. there are some reference cycles in your app
E. Berger, S. Stern, and J. Pizzorno. 17th USENIX Symposium on Operating Systems Design and Implementation (OSDI 23), Boston, MA, USENIX Association, (July 2023)