首页 > 解决方案 > 理解和优化 Python 的内存槽

问题描述

我正在使用一个现有的大型 Python 代码库,它有一个内部图形模型,节点和边是常规的 Python 类。我想通过将这些转换为开槽类来优化内存占用——目前,内存使用正在产生严重的问题。

我认为使用插槽可能会有所帮助,因为有几十个类,但这些类的数十万个实例创建了图形模型。

为此,我有几个问题:

  1. 如何获得整体应用程序内存使用情况?我正在使用 psutil.Process().memory_info.rss - 这是首选选项吗?

  2. 如何知道添加插槽需要关注哪些特定类?理想情况下,一个工具/报告可以显示所有用户定义的类的实例数 x 每个实例的内存?我一直在尝试 Pymler,但这需要单独为所有类添加跟踪代码。

在上述两种情况下,我想知道是否有我可能错过的更好的方法。

标签: pythonpython-3.xmemoryprofiling

解决方案


推荐阅读