import os
import psutil
# 显示当前python程序占用的内存大小
def show_memory_info(hint):
pid = os.getpid()
p = psutil.Process(pid)
info = p.memory_full_info()
# print(info)
# RSS(驻留集大小)
# USS(唯一集大小)是一个进程特有的内存,如果这个过程被终止,它将即刻被释放。
# PSS,又名“比例设置大小”,表示与其他进程共享的内存大小,它以这种方式进行计算:
# 总量最终在共享的进程之间平分。也就是说,如果一个进程有10 MB都归自己(USS),
# 并与另一个进程共享10 MB,那么其PSS将是15 MB。“swap”很简单,就是已经被交换到磁盘的内存量。
memory = info.uss / 1024. / 1024
print("{} memory used: {} MB".format(hint, memory))
def func1():
show_memory_info('initial')
a = [i for i in range(1000000)]
show_memory_info('after created')
def func2():
show_memory_info('initial')
global a
a = [i for i in range(1000000)]
show_memory_info('after created')
def func3():
show_memory_info('initial')
a = [i for i in range(1000000)]
s
python垃圾回收机制
最新推荐文章于 2022-05-16 11:03:03 发布
本文深入探讨了Python的垃圾回收机制,包括引用计数和垃圾收集器的作用,详细解释了内存管理如何确保有效释放不再使用的对象,同时介绍了循环检测和弱引用的概念,帮助开发者更好地理解和优化内存使用。
摘要由CSDN通过智能技术生成