DASK的低影响、任务级内存分析。
dask_memusage的Python项目详细描述
磁盘内存使用
如果在使用大量内存的任务中使用DASK,RAM是并行性的瓶颈。 这意味着您想知道每个任务使用了多少内存:
- 因此,您可以为每台机器设置最高的并行级别(进程或线程),并将其提供给ram。
- 以便知道内存优化工作的重点。
dask-memusage
是麻省理工学院授权的dask分布式调度程序的统计内存分析器,它可以帮助您解决这两个问题。
task_key,min_memory_mb,max_memory_mb "('from_sequence-map-sum-part-e15703211a549e75b11c63e0054b53e5', 0)",44.84765625,96.98046875 "('from_sequence-map-sum-part-e15703211a549e75b11c63e0054b53e5', 1)",47.015625,97.015625 "('sum-part-e15703211a549e75b11c63e0054b53e5', 0)",0,0 "('sum-part-e15703211a549e75b11c63e0054b53e5', 1)",0,0 sum-aggregate-apply-no_allocate-4c30eb545d4c778f0320d973d9fc8ea6,0,0 apply-no_allocate-4c30eb545d4c778f0320d973d9fc8ea6,47.265625,47.265625 task_key,min_memory_mb,max_memory_mb "('from_sequence-map-sum-part-e15703211a549e75b11c63e0054b53e5', 0)",44.84765625,96.98046875 "('from_sequence-map-sum-part-e15703211a549e75b11c63e0054b53e5', 1)",47.015625,97.015625 "('sum-part-e15703211a549e75b11c63e0054b53e5', 0)",0,0 "('sum-part-e15703211a549e75b11c63e0054b53e5', 1)",0,0 sum-aggregate-apply-no_allocate-4c30eb545d4c778f0320d973d9fc8ea6,0,0 apply-no_allocate-4c30eb545d4c778f0320d973d9fc8ea6,47.265625,47.265625
用法
重要:确保您的工作线程只有一个!否则结果将是错误的。
安装
在运行Distributed Scheduler的计算机上,运行:
$ pip install dask_memusage
API使用
# Add to your Scheduler object, which is e.g. your LocalCluster's scheduler# attribute:fromdask_memoryusageimportinstallinstall(scheduler,"/tmp/memusage.csv")
cli用法
$ dask-scheduler --preload dask_memusage --memusage.csv /tmp/memusage.csv
限制
- 同样,确保每个工作进程只有一个线程。
- 这是统计分析,每10毫秒运行一次。 花费少于此的任务将没有准确的信息。
帮助
需要帮助吗?在https://github.com/itamarst/dask-memusage/issues/new