Python 内存泄漏?
我正在调试一个嵌入在C++程序中的Python应用程序。 当我通过Python 内存泄漏?,python,numpy,memory-leaks,reference-counting,Python,Numpy,Memory Leaks,Reference Counting,我正在调试一个嵌入在C++程序中的Python应用程序。 当我通过PyObject\u GetAttrString查询一个numpy数组属性并随后很好地解除它的限制(Py\u DECREF)时,我仍然看到ref计数在增加。 Ref count I trace viaPyObject\u CallObject(PySys\u GetObject((char*)“gettotalrefcount”),NULL) 如果用标准python列表替换numpy数组,那么ref计数是稳定的 我做的下一个简单测
PyObject\u GetAttrString
查询一个numpy数组属性并随后很好地解除它的限制(Py\u DECREF
)时,我仍然看到ref计数在增加。
Ref count I trace viaPyObject\u CallObject(PySys\u GetObject((char*)“gettotalrefcount”),NULL)
如果用标准python列表替换numpy数组,那么ref计数是稳定的
我做的下一个简单测试是使用python调试构建进行以下测试:
Python 2.7.6 (default, Mar 22 2014, 23:07:03)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
[155099 refs]
>>> l = numpy.array([1,2])
[155102 refs]
>>> l
array([1, 2])
[155156 refs]
>>> l
array([1, 2])
[155207 refs]
>>> l
array([1, 2])
[155258 refs]
>>> l
array([1, 2])
[155309 refs]
>>> l
array([1, 2])
[155360 refs]
正如您所看到的,ref计数不断增加,这是我没有预料到/不理解的
有人知道线索吗?提前感谢。可能这是您使用的numpy的哪个版本?