gpt4 book ai didi

Python - 在内存中查找当前对象

转载 作者:行者123 更新时间:2023-12-03 16:48:32 25 4
gpt4 key购买 nike

有没有办法找到当前在内存中的对象,包括它们的名称、它们的位置和模块名称等?
我的进程 Python.exe 在任务管理器中的 main() 方法之前的内存占用为 15MB。
在 main 方法完成第一次迭代后,进程 Python.exe 内存大小为 250MB。
我想了解哪些对象仍在内存中,以便我可以删除它们

while True:
# print current object details
main()
# print current object details

最佳答案

不,没有办法在 Python 中找到所有对象。此外,大多数对象没有名称,并且对象“位置”不像您认为的那样工作。
与您正在寻找的最接近的是 gc.get_objects ,它返回所有 GC 跟踪对象的列表。这不是所有对象的列表,也没有告诉您为什么对象仍然存在。您可以使用 gc.get_referrers 获取对象的 GC 跟踪的引荐来源网址,但并非所有引用都为 GC 所知。
即使您确保不再需要的对象无法访问,并且即使它们的内存被回收,这仍然不意味着 Python 会真正将内存返回给操作系统。在这一切结束时,您的内存使用量可能仍为 250 MB。

关于Python - 在内存中查找当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62686644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com