【发布时间】:2018-12-04 19:46:57
【问题描述】:
我有一组共享一个大对象的python进程(共享是通过在初始化对象后分叉进程来完成的)
我注意到一个奇怪的内存泄漏:
- 进程内存(VSZ 和 RSS)几乎没有变化
- 系统总内存稳步增加
我的猜测是共享对象确实发生了变化(它在“逻辑上”是只读的,但即使只是从中读取,一些内部私有变量也可能发生变化)——这会导致内存页面被复制
有没有办法验证这一点?
【问题讨论】:
-
什么样的对象?一个列表?字典?熊猫数据框?您有权访问源代码吗? (对象的)
-
熊猫数据框
-
stackoverflow.com/questions/14224068/… 这有关系吗?如果是这样,那可能是特定于操作系统的,您可能会在完成大量工作后尝试通过执行
gc.collect()手动触发垃圾收集。
标签: python linux memory-leaks fork