Python 使用multiprocessing 特别耗内存

采用multiprocessing多进程进行数据计算的时候内存飚升,这总体可以说是multiprocessing的一个「bug」导致;

大致原因如下:

multiprocessing.Process 每启动一个进程都会对当前进程内存进行一次拷贝;

可以采用multiprocessing.Process全部声明完的时候再去加载「原始数据」,这样,fork 进程的时候内存就没有「原始数据」;

可以参考如下地址:

https://stackoverflow.com/questions/14749897/python-multiprocessing-memory-usage

 

posted on 2017-10-16 16:01  雪 狼  阅读(6138)  评论(1编辑  收藏  举报

导航