对python程序内存泄漏调试的记录

qqarmor37980 15 0 pdf 2021-06-04 02:06:32

调试python程序时,用下面这段代码,可以获得进程占用系统内存值。程序跑一段时间后,就能画出进程对内存的占用情况。发现进程的内存占用一直再上涨,而这从逻辑上来说是不正常的,所以想到程序可能发生了Memory Leak。参数a这样可迭代的对象,稍不注意,它就能增长的很快。说白了,python的Memory Leak,就是“进程占用的内存莫名其妙一直再升高”。首先想到,会不会是上面用的memory_usage_psutil函数统计错误呢。可以看到,强制GC后,程序执行变慢,但内存依然不断升高。用guppy查看python对象占用的堆内存大小将main修改如下,即可查看python对堆内存的占用量。还可以通过下面这种方式,查看这个占内存最大的list中的数据类型。关于guppy的详细用法,可以看这里(

对python程序内存泄漏调试的记录

对python程序内存泄漏调试的记录

对python程序内存泄漏调试的记录

对python程序内存泄漏调试的记录

用户评论
请输入评论内容
评分:
暂无评论