【发布时间】:2023-04-05 23:01:02
【问题描述】:
我有一个函数可以生成一个巨大的对象(大约 100-150Gb 的内存,在具有 500Gb 内存的机器上)。
该函数运行时间约为 1h,并将文件写入磁盘(约 100Mb)。
但是当函数结束时,程序会挂在那里几个小时而没有做任何事情(在调用函数的地方之后它不会继续指令)。
我怀疑垃圾收集器试图删除在这个函数中创建的巨大对象,但我没有看到任何事情发生(strace 什么也没打印),并且内存没有减少。
您知道为什么会发生这种情况以及如何解决吗?
我正在使用 python 3.5
【问题讨论】:
-
我试过了,但没有任何改变。
-
您是否尝试过docs.python.org/3/library/gc.html#gc.set_debug 或诸如asizeof 之类的内存分析器(描述于stackoverflow.com/questions/552744/…)?
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:创建巨大对象后,Python 在函数结束时挂起数小时 - Python技术站