我想将一个相当大的数据结构加载到一个进程中然后分叉,希望减少总内存消耗.会以os.fork这种方式工作还是复制Linux(RHEL)中的所有父进程?
Pool当您使用 Python创建进程时multiprocessing,这些进程将分叉,父进程中的全局变量将显示在子进程中,如下面的问题所述:
这似乎包括导入的模块。对于在__init__. Tensorflow 就是这样的一个模块,一旦导入,它就会尝试向 GPU 分配内存。这会导致子进程崩溃,因为父进程已经采取了该操作。
有没有好的方法来避免在fork进程中加载tensorflow模块?
Ubuntu 上的 Python 2.7 (posix)