Python 使用multiprocessing 特别耗内存
采用multiprocessing多进程进行数据计算的时候内存飚升,这总体可以说是multiprocessing的一个「bug」导致;
大致原因如下:
multiprocessing.Process 每启动一个进程都会对当前进程内存进行一次拷贝;
可以采用multiprocessing.Process全部声明完的时候再去加载「原始数据」,这样,fork 进程的时候内存就没有「原始数据」;
可以参考如下地址:
https://stackoverflow.com/questions/14749897/python-multiprocessing-memory-usage