python中内存泄露是什么?如何避免?

指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。

导致程序运行速度减慢甚至系统崩溃等严重后果。

有__del__() 函数的对象间的循环引用是导致内存泄漏的主凶。

不使用一个对象时使用:del object 来删除一个对象的引用计数就可以有效防止内存泄漏问题。

通过Python 扩展模块gc 来查看不能回收的对象的详细信息。

可以通过sys.getrefcount(obj) 来获取对象的引用计数,并根据返回值是否为0 来判断是否内存泄漏。


            
            

本博客源码Github地址:

https://github.com/whisnos/myblog

请随手给个star,谢谢!

打赏

评论