Debugging memory leaks in long-running Python processes