python查看内存空间占用的情况

1、使用sys模块的getsizeof()方法可查看具体占用内存空间的大小,从下面的例子可看出10w条数据就已经占用了800kb的内存了

import sys
L = [x for x in range(10000)]
print(sys.getsizeof(L)) // 824464

2、使用psutil模块,可清晰的查看应用占用的内存资源

import psutil
mem = psutil.virtual_memory()
# 系统总计内存(单位字节)
zj = float(mem.total) 
# 系统已经使用内存(单位字节)
ysy = float(mem.used)
# 系统空闲内存(单位字节)
kx = float(mem.free)

 3、如何在python中管理内存的?

python中的内存管理由Python私有堆空间管理,程序员无权访问此私有堆。其由python解释器自己处理,Python对象的堆空间分配由Python的内存管理器完成。
Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存,并使其可用于堆空间。

4、退出Python程序时,为什么不清除所有python分配的内存?

1、那些对其他对象具有循环引用的Python模块或者从全局名称空间引用的对象并没有被解除分配或释放
2、无法解除分配C库保留的那些内存部分

5、python是如何运行内存管理的?

python是使用:
1、引用计数机制
2、垃圾回收机制
3、内存池机制
三种机制来管理内存的

 

posted @ 2020-10-12 20:18  吾延  阅读(16197)  评论(0编辑  收藏  举报