Python 的内存管理机制是怎样的?
① 对象引用计数(为主),为 0 立即回收;② 循环引用靠 gc 模块分代收集;③ 内存池:小对象(<512 字节)用 PyMalloc 内存池(arena/block)减少 malloc 调用与碎片,大对象直接用系统 malloc;④ 整数小对象缓存(-5~256)、字符串驻留、复用空容器(小列表/元组);⑤ 对象回收进 free list 复用(如 list/tuple)。查看:sys.getsizeof、tracemalloc 追踪分配、gc.get_objects。注意:内存不一定立即返还 OS(pymalloc 池缓存)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。