采用multiprocessing多進程進行數據計算的時候內存飈升,這總體可以說是multiprocessing的一個「bug」導致;
大致原因如下:
multiprocessing.Process 每啟動一個進程都會對當前進程內存進行一次拷貝;
可以采用multiprocessing.Process全部聲明完的時候再去加載「原始數據」,這樣,fork 進程的時候內存就沒有「原始數據」;
可以參考如下地址:
https://stackoverflow.com/questions/14749897/python-multiprocessing-memory-usage