Dask速度较慢,状态页中显示了许多磁盘读写块

Dask速度较慢,状态页中显示了许多磁盘读写块,dask,Dask,我的Dask计算很慢。当我查看诊断仪表板的状态页面时,我发现大部分时间都花在磁盘读取-*和磁盘写入-*任务上 这是什么意思 如何诊断此问题?当Dask工作进程开始耗尽内存时,他们会将额外的数据写入磁盘。这将作为磁盘写入-任务记录在状态页面中。当再次需要该数据时,会从磁盘读取该数据,并且状态页面上会显示一个磁盘读取-任务。您可以通过查看左上角的图来确认这一点,该图显示每个工作进程的内存使用情况,或者通过查看进度条的实心部分来确认这一点,该进度条显示仍在内存中的每种特定类型的任务数 解决此问题的方法

我的Dask计算很慢。当我查看诊断仪表板的状态页面时,我发现大部分时间都花在
磁盘读取-*
磁盘写入-*
任务上

这是什么意思


如何诊断此问题?

当Dask工作进程开始耗尽内存时,他们会将额外的数据写入磁盘。这将作为
磁盘写入-
任务记录在状态页面中。当再次需要该数据时,会从磁盘读取该数据,并且状态页面上会显示一个
磁盘读取-
任务。您可以通过查看左上角的图来确认这一点,该图显示每个工作进程的内存使用情况,或者通过查看进度条的实心部分来确认这一点,该进度条显示仍在内存中的每种特定类型的任务数

解决此问题的方法:

  • 找出Dask需要将数据保存在内存中的原因。常见原因:
  • 当您保存大量数据时
  • 当Dask必须保留大量中间结果时,例如在完全洗牌的情况下,或具有高结果基数的计算
  • 获得更多内存
  • 获得更快的磁盘速度。现代磁盘带宽在过去几年中有所改善。可以在带宽为1-2GB/s的消费级个人笔记本电脑上安装驱动器

  • 另外,Dask可能并不总是以最高效的方式处理文本数据。如果打开Dask配置文件
    ~/.Dask/config.yaml
    并将
    工作内存目标:0.60
    更改为
    工作内存目标:1.00
    ,您可能会看到性能改进。有关更多详细信息,请参阅。