DASK的低影响、任务级内存分析。

dask_memusage的Python项目详细描述


磁盘内存使用

如果在使用大量内存的任务中使用DASK,RAM是并行性的瓶颈。 这意味着您想知道每个任务使用了多少内存:

  1. 因此,您可以为每台机器设置最高的并行级别(进程或线程),并将其提供给ram。
  2. 以便知道内存优化工作的重点。

dask-memusage是麻省理工学院授权的dask分布式调度程序的统计内存分析器,它可以帮助您解决这两个问题。

对您的内存使用过程进行轮询,并记录一个CSV中的最小和最大使用情况。
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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Tomcat JDBC异常池已耗尽   java如何修复运行Android emulator时出现的GPU驱动程序问题错误   DB2AS400Java函数总是返回相同的值   在java中实现不透明句柄   JAVA创建代理时的lang.ClassCastException   数学热到小数点后四舍五入到逗号后的下一个5的乘法   Java方法next()中的NoTouchElementException   java机器人配置错误   java与MySQL一起使用自动增量,需要检索该数字   lambda使用java匿名函数返回值   跨线程组的java JMeter BeanShell属性设置   java如何在thymeleaf中构建绝对URL?   java在单击按钮时将文本设置为当前正在使用的EditText   Java组合框如何添加图标?   java使用通配符“重写”类中的方法