s1m*_*0d3 8 python parallel-processing dask dask-distributed
我正在使用dask.distributed(令人尴尬的并行任务)并行化一些代码。
.
from dask.distributed import Client, LocalCluster
cluster = LocalCluster(n_workers=2, threads_per_worker=1,memory_limit =8e9)
client = Client(cluster)
Run Code Online (Sandbox Code Playgroud)
.
distributed.worker - WARNING - Memory use is high but worker has no data to store to disk.
Perhaps some other process is leaking memory? Process memory: 6.21 GB -- Worker memory limit: 8.00 GB
Run Code Online (Sandbox Code Playgroud)
暗示工作人员使用的部分 RAM 不在freed不同文件之间(我猜是剩余的过滤中间体......)
有没有办法在开始处理下一个图像之前释放工人的内存?我必须garbage collector在运行任务之间运行一个循环吗?
我gc.collect()在工作人员运行的函数末尾包含了调用,但没有消除警告。
非常感谢您的帮助!