Dask Worker 进程内存不断增长

Posted

技术标签:

【中文标题】Dask Worker 进程内存不断增长【英文标题】:Dask Worker Process Memory Keeps Growing 【发布时间】:2018-09-17 01:56:37 【问题描述】:

我正在一个 dask 分布式、tensorflow、keras 设置上优化 ML 模型。 工作进程在内存中不断增长。

Tensorflow 使用 25 个节点的 CPU。每个节点大约有 3 个工作进程。

每个任务大约需要 20 秒。

我不想每次内存满时都重新启动,因为这会使操作停止一段时间,造成延迟。

我在 .gather() 之后使用 client.cancel() 但没有效果。我在任务中执行 gc.collect() 但也没有效果。

唯一的解决办法是重启工作进程。

有人有其他解决方案吗?

Dask 分布式版本:1.21.1 蟒蛇:3.6.3 张量流:1.7 Keras:2.1.5

【问题讨论】:

【参考方案1】:

需要清除 Keras (Tensorflow)。

from keras import backend as K
K.clear_session()

【讨论】:

以上是关于Dask Worker 进程内存不断增长的主要内容,如果未能解决你的问题,请参考以下文章

dask.submit:调度程序中的内存/负载分配不足

服务器内存线性增长,根据句柄数查找问题进程

与 Dask 共享内存

记AELF区块链网络的一次内存持续增长问题排查

audiodg.exe 随着我调用的每个 Beep() 函数不断增长。系统不释放内存

python dask to_parquet 占用大量内存