【发布时间】:2019-05-24 23:06:57
【问题描述】:
我正在尝试使用 dask 加载数据集,但是当需要计算我的数据集时,我不断遇到这样的问题:
警告 - Worker 超出了 95% 的内存预算。正在重新启动。
我只是在本地机器上工作,启动 dask 如下:
if __name__ == '__main__':
libmarket.config.client = Client() # use dask.distributed by default
现在,在我的错误消息中,我不断看到对“memory_limit=”关键字参数的引用。但是,我已经彻底搜索了 dask 文档,但我无法弄清楚如何在单机配置中增加血腥的工人内存限制。我有 256GB 的 RAM,在将其转换回 pandas 数据帧之前,我将删除大部分未来的列(一个 20GB 的 csv 文件),所以我知道它会适合内存。我只需要从我的代码中增加每个工作人员的内存限制(不使用 dask-worker),以便我可以处理它。
请有人帮帮我。
【问题讨论】:
-
你修改你的
~/.config/dask/distributed.yaml了吗? -
你不知道我有多爱你。我之前修改了distributed.yaml,但我在错误的文件中进行了修改!谢谢谢谢谢谢。
-
没问题,快乐计算!
-
我最终使用了:Client(memory_limit='64GB')
-
@Jones - 我也是。那么内存限制的相关性是什么 - 如果将 64GB 分配给单个工作人员。你找到解决办法了吗?