Plotman是用于管理Chia绘图操作的工具。它容许您配置参数以打算打印作业,通常以交错,无休止的次序进行。它将在多个温度(-t)和目标(-d)驱动器上平衡绘图作业的负载。它供给了将完整地块从绘图机转移到农业机械的设施(一种称为“存档”的操作)。它还供给了一些用于视察绘图作业进度的工具,并有助于对绘图作业过程进行操作(例如,暂停/恢复/终止)。
Plotman是一个高级用户工具,可以使某些类型的绘图主动化更加容易。它不是使初学者更容易绘图的主动工具。强烈建议您在应用Plotman之前,先获得手动运行绘图作业的经验,以懂得绘图的工作方法以及您的硬件如何响应。
Plotman不是Chia核心代码库的一部分,也不与Chia Network正式相干。它很大程度上是一个Alpha软件,正在开发中,其工作方法的某些方面仅是历史性的事故,现在这里写的内容可能在三个月内不实用。它是完整由志愿者在业余时间开发的(他们都有日间工作)。它是在Linux上开发的,但似乎可以在MacOS上很好地工作,并且有些人已经在Windows的WSL下运行它。
Plotman是基于一些假设而设计的。这些假设可能是最优的,也可能不是最优的,但它们推动了初始设计。
Plotman的重要用处是plotman Interactive,它履行以下功效:
您还可以应用plotman plot仅运行绘图作业生成,plotman归档仅运行存档。还有其他命令行工具可用于检查和操作正在运行的绘图作业。
有关plotman命令功效的完整和最新信息,请应用内置的命令行赞助选项plotman –help。
Linux的安装:
Plotman假定您配置一个或多个“ tmp”目录(用于-t的快速目录)和一个或多个“ dst”目录(Chia绘图仪将在其中发出完成的绘图,即-d目录)。请注意,如果应用存档功效,则“目标地”目录不是最终目标地,而只是地块所在的缓冲区,直到存档作业可以将其移至农民。
Plotman会根据全局系统状态(例如,正在运行多少个作业,何时启动上一个开端的作业)以及所考虑的tmp驱动器的状态(例如,正在运行多少个作业)来调度作业tmp dir,他们取得了多少进展)。
通常的用例是将tmp目录设置为正在应用的块设备(即物理驱动器或RAID设备)的安点缀。大多数Plotman文档都假定此用例。但是,这不是一定要的,在某些高级情况下,可能有理由将一个块设备上的多个目录视为单独的逻辑tmp目录。
在许多情况下,只有一个dst驱动器(和目录)就足够了。如果您有多个驱动器,则不仅会拥有更大的绘图缓冲区,而且Plotman还将分发绘图和归档作业,从而避免并发IO(替代RAID驱动器)。如果您有旧的1TB或2TB HDD集合,那么这将是一组不错的dst dirs。
可认为Plotman配置许多条件来启动新的绘图作业。当满足所有条件时,将启动作业。
在全局领域内,您可以配置一次要运行的最大绘图作业数量,以及一个参差不齐的参数,该参数限制了新作业的启动速度。最大作业总数是一种有用的方法,可以限制用于Chia绘图的总内存。应设置全局交错,以避免作业凑集在一起并立即开端。设置初始值的一种好方法是,断定要并行运行的作业数量,估计它们在运行时将消费多长时间(并行,这可能比一个人独自运行时要长),然后将这些值相除断定频率。例如,如果您盼望并行运行12个作业,并且每个作业要消费8个小时,则合理的做法是将全局时间间隔设置为40分钟(或更短)。
每个tmp目录中也有一个最大作业限制。应当根据您的驱动器大小和IO吞吐量进行设置。例如,一个1TB的tmp驱动器可以轻松地容纳3个交错的绘图作业,如果是交错的,则可能合适4个。但是,取决于您的驱动器速度,3可能太多了-例如,您可能盼望运行最多两个作业的SATA SSD。
在tmp目录上错开是通过工作进度而不是时间来完成的。它旨在使系统性能的可变性比固定时钟更强健。通过Chia绘制阶段(1、2、3和4)以及“子阶段”来衡量进度。子阶段是Chia绘图仪进度的Plotman命名法,每个阶段定义如下:
在Plotman中,进度由阶段:子阶段指标(有时也称为阶段重要:次要指标)描写。例如,一个工作可能显示为处于阶段3:4,这将对应于阶段3(表4和表5的压缩)。
tmp目录中的交错是通过按阶段衡量的工作进度完成的。基础思想是,下一个作业不应在tmp dir上启动,直到上一个作业达到其进展的某个点为止。
合理地询问是不是可以按时间完成tmp-dir内的交错,以及是不是可以通过阶段进度来进行全局的交错。这些是Plotman开发人员正在考虑的事情。
许多用户选择疏忽归档操作,而直接将图绘制到其耕作驱动器上。这可以; 为此,只需注释掉存档部分的配置中的行即可。
当前,正确配置归档很繁琐且容易出错。我们正在努力改良这一点。在Plotman Wiki上有一个指南,描写了如何在此处配置归档:https : //github.com/ericaltendorf/plotman/wiki/Archiving。
首次运行Plotman时,将需要创立一个配置文件。您可以应用plotman config generate来做到这一点。然后,您可以在所描写的地位编辑配置。
配置完成后,您就可以开端打印了。运行交互式绘图仪,您应当会看到一个概述屏幕。假设没有绘图作业正在运行,绘图员应检测到机器已筹备好绘图并开端作业。只要您保持运行状态,机器筹备就绪时(根据您的配置),绘图员将持续启动新的绘图作业。启动后,这些绘图作业独立于绘图员,应完成。如果要暂停或结束新图的创立,可以按“ p”键或直接退出plotman(“ q”或^ C)。
运行交互式绘图仪时,屏幕显示以下信息:
第一行显示状态。绘图状态显示了我们是不是刚刚开端绘图,如果不开端,为啥(例如,交错时间,tmp目录已筹备好,等等)。归档状态表现我们当前是不是正在归档(并供给rsync pid),或者dst驱动器中是不是没有可用于归档的图。
第二行显示当前绘图作业进度的快照图形视图。每个作业都显示在进度条上,该进度条具有阶段1、2、3和4的里程碑。字符,带有2,“:”,三个“;”以及四个或更多“!”的字符。这是一种简便的方法,可以快速查看绘图的当前状态,进度正在运行多少作业以及它们是均匀散布还是凑集在一起。
第三行供给了一些通篇应用的目录缩写的键。对于tmp和dst目录,我们假定它们有一个公共前缀,在此处进行盘算和唆使,然后可以通过其唯一后缀(在高低文中)对其进行引用。例如,如果我们有tmp dirs / mnt / tmp / 00,/ mnt / tmp / 01,/ mnt / tmp / 02等,我们在此处显示/ mnt / tmp作为前缀,然后可以讨论tmp dirs 00或01等。存档目录是雷同的,除了它们是远程主机上的路径,并且可以通过rsyncd模块访问。
下表显示了有关运动绘图作业的信息。如果您有很多作业,则可以缩写为显示最近启动的作业和最少启动的作业(完整列表可通过命令行命令plotman status获得)。它显示了有关绘图作业的各种信息,包含(绘图的前8个字符)绘图ID,应用的目录,walltime,当前绘图阶段和子阶段,tmp驱动器上应用的空间,pid等。
下表显示了tmp和dst dirs的用法。tmp表显示应用它们的打印作业的阶段,以及它们是不是筹备进行新的打印作业。dst表显示了已累积了多少个图块,剩余了多少可用空间以及将要写入这些图块的作业阶段,最后显示了为存档作业盘算出的将图块移开的优先级。
上一张表仅显示了配置为存档目标的远程收割机/农民上驱动器的可用空间。该信息是通过sf上的df获取的,因此,要使其正常工作,您需要将无密码ssh配置为远程收割机/农民。
最后,最后一部分显示了已履行操作的日志-即启动的打印和存档作业。这是交互式工具中有状态的一部分。这些履行的命令行没有永久记载,因此,如果启动新的交互式绘图员会话,则该日志为空。
Plotman供给了一些命令行工具:
操作作业的命令以图ID的前缀作为参数,该ID是唯一标识正在创立的图的十六进制字符串。绘图ID的8个字符的前缀显示在Plotman工具中,但是在发出命令时,您可以应用任何唯一标识的前缀。
命令行工具可简化脚本操作,这在异常情况下可能会很有用。例如,如果您的临时驱动器/ tmp / 03危险地装满,则可能要暂停其上的所有作业:
绘图员状态中的ID | 尾-n + 2 | grep / tmp / 03 | 切-c1-8`; 绘图员是不是暂停$ id;完毕
之后,您可以持续履行即将完成的工作,也可以取消刚刚开端的工作。
在一组日志文件上运行plotman分析将盘算并显示有关每个阶段所用时间的统计信息。这种分析是非常基础的,但是它是检查一组特定作业的性能的快速便捷的方法。
Plotman重要是为Linxu开发的,但它是在Mac上即用的,并且在Windows上的WSL(实用于Linux的Windows子系统)上运行时,已经有一些人取得了成功。如果遇到问题,请在讨论论坛上查看;可能还有其他人以前曾经看过并解决过这些问题。
Plotman完整是由从事日间工作的志愿者开发的,因此我们无法保证必定会供给支撑。我们确实努力供给赞助,但是我们也在尝试建立机制,以使社区中的人们互相赞助。
我们仍在制定最佳系统,但是目前讨论chil_network keybase团队的keybase讨论频道#plotman是讨论Plotman应用(包含入门上的麻烦)最生动的处所。我们还在https://github.com/ericaltendorf/plotman/discussions上试用了Github的“讨论”部分。
如果您创造Plotman存在问题,请在github上将其报告,网址为https://github.com/ericaltendorf/plotman/issues。请尝试报告与Plotman行动和责任相干的毛病,而不是与核心Chia绘图仪有关的毛病。
我们欢迎您的贡献;如果不是为了志愿者的工作,普洛特曼就不会存在。寻衅之一是每个人的绘图情况都是唯一的,因此通常会建议应用特定功效来支撑特定用例。为了保持简略性,易用性和可靠性,掩护人员经常尝试将特定功效重铸成更通用的情势。
这将有助于贡献者:
这是用于管理Chia 绘图操作的工具。该工具在绘图机上运行,??并供给以下功效:
Plotman设计用于以下配置:
tmp
dirs数组,一个tmp2
目录和一个dst
dirs数组,绘图作业将在该数组上进行绘图。该dst
目录用作生成图的临时缓冲区。rsyncd
模块进行访问 ,并完整填充地块。这些被称为archive
目录。Plotman工具是无状态的。Plotman不会保存内部记载已开端的作业,而是依附绘图作业的过程表,打开文件和日志文件来懂得“正在产生的事情”。这意味着即使在不同的登录会话中也可以结束和启动工具,而不会丧失信息。这也意味着Plotman可以查看和管理手动或通过其他工具启动的作业,只要将它们的STDOUT / STDERR重定向到已知日志文件目录中的文件即可。(注意:该工具依附于浏览chia plot命令行参数和绘图工具输出的格式。更改这些内容可能会损坏该工具。)
通过自开端履行上一个作业以来等候必定时间的墙面时间,找到最佳(例如最近最少应用)tmp
的绘图目录,并确保作业至少进行到某个特定点(例如阶段2 ),来完成绘图调度,子阶段5)。
地块输出到dst
目录,目录用作临时缓冲区,直到它们被同步(“存档”)到农民/收割者。存档器做了几件事,试图避免并发IO。首先,它一次只容许一个rsync过程(更复杂的调度可以打消此限制,但这是不平常的)。其次,它检查情节作业的流水线,以查看dst
将要写入情节的目录。这与dst
优先级方案中驱动器的容量已达到平衡。
显然,您的rsync带宽一定要超过绘图带宽。鉴于此,在正常操作中,dst
目录将保持为空,直到完成绘图为止,此后不久便由存档作业将其拾取。但是,通过应用dst
驱动器作为缓冲区供给的解耦意味着如果农民/收割机或网络不可用,则绘图将持续进行而不会中断。
Plotman 19:01:06 (refresh 9s/20s) | Plotting: stagger (1623s/1800s) Archival: active pid 1599918
Prefixes: tmp=/mnt/tmp dst=/home/chia/chia/plots archive=/plots (remote)
# plot id k tmp dst wall phase tmp pid stat mem user sys io
0 6b4e7375... 32 03 001 0:27 1:2 71G 1590196 SLP 5.5G 0:52 0:02 0s
1 9ab50d0e... 32 02 005 1:00 1:4 199G 1539209 SLP 5.5G 3:50 0:09 0s
2 018cf561... 32 01 000 1:32 1:5 224G 1530045 SLP 5.5G 4:46 0:11 2s
3 f771de9c... 32 00 004 2:03 1:5 241G 1524772 SLP 5.5G 5:43 0:14 2s
...
16 58045bef... 32 10 002 11:23 3:5 193G 1381622 RUN 5.4G 15:02 0:53 0:02
17 8134a2dd... 32 11 003 11:55 3:6 148G 1372206 RUN 5.4G 15:27 0:57 0:03
18 50165422... 32 08 001 12:43 3:6 102G 1357782 RUN 5.4G 16:14 1:00 0:03
19 100df84f... 32 09 005 13:19 4:0 0 1347430 DSK 705.9M 16:44 1:04 0:06
tmp ready phases tmp ready phases dst plots GB free phases priority
00 -- 1:5, 3:4 06 -- 2:4 000 1 1890 1:5, 2:2, 3:4 47
01 -- 1:5, 3:4 07 -- 2:2 001 0 1998 1:2, 1:7, 3:2, 3:6 34
02 -- 1:4, 3:3 08 -- 1:7, 3:6 002 0 1967 1:6, 2:5, 3:5 42
03 -- 1:2, 3:2 09 -- 2:1, 4:0 003 0 1998 1:6, 3:1, 3:6 34
04 OK 3:1 10 -- 1:6, 3:5 004 0 1998 1:5, 2:4, 3:4 46
05 OK 2:5 11 -- 1:6, 3:6 005 0 1955 1:4, 2:1, 3:3, 4:0 18
Archive dirs free space
000: 94GB | 005: 94GB | 012: 24GB | 017: 99GB | 022: 94GB | 027: 94GB | 032: 9998GB | 037: 9998GB
001: 94GB | 006: 93GB | 013: 25GB | 018: 94GB | 023: 94GB | 028: 94GB | 033: 9998GB |
002: 93GB | 009: 25GB | 014: 93GB | 019: 31GB | 024: 94GB | 029: 7777GB | 034: 9998GB |
003: 94GB | 010: 25GB | 015: 94GB | 020: 47GB | 025: 94GB | 030: 9998GB | 035: 9998GB |
004: 94GB | 011: 25GB | 016: 99GB | 021: 93GB | 026: 94GB | 031: 9998GB | 036: 9998GB |
Log:
01-02 18:33:53 Starting plot job: chia plots create -k 32 -r 8 -u 128 -b 4580 -t /mnt/tmp/03 -2 /mnt/tmp/a -d /home/chi
01-02 18:33:53 Starting archive: rsync --bwlimit=100000 --remove-source-files -P /home/chia/chia/plots/004/plot-k32-202
01-02 18:52:40 Starting archive: rsync --bwlimit=100000 --remove-source-files -P /home/chia/chia/plots/000/plot-k32-202
屏幕截图显示了Plotman的一些重要功效。
第一行显示状态。绘图状态显示了我们是不是刚刚开端绘图,如果不开端,为啥(例如,交错时间,tmp目录已筹备好;在这种情况下,尚未达到绘图之间的1800s交错)。归档状态表明我们当前正在归档(并供给rsync
pid)还是dst
驱动器中没有可用的地块进行归档。
第二行供给了一些通篇应用的目录缩写的键。对于tmp
和dst
目录,我们假定它们具有一个公共前缀,在此处进行盘算和唆使,然后可以通过其唯一后缀(在高低文中)对其进行引用。例如,如果我们有tmp
迪尔斯/mnt/tmp/00
, /mnt/tmp/01
,/mnt/tmp/02
等,我们显示/mnt/tmp
如下前缀,然后可以谈论tmp
迪尔斯00
或01
等archive
目录是雷同的,只是这些都是在远程主机上的路径,并通过访问 rsyncd
模块(见src/plotman/resources/plotman.yaml
的细节)。
下表显示了有关运动绘图作业的信息。缩写为显示最近启动的作业和最少启动的作业(完整列表可通过命令行模式获得)。它显示了有关打印作业的各种信息,包含打印ID(前8个字符),应用的目录,挂墙时间,当前打印阶段和子阶段,tmp
驱动器上应用的空间,PID等。
接下来的表格有些难以浏览。实际上tmp
,左侧有一个表格,为了浮现目标,该dst
表格分为两个表格,右侧有一个表格。这些tmp
表显示了应用它们的绘图作业的阶段,以及它们是不是筹备好进行新的绘图作业。该dst
表显示了已累积了多少个图块,剩余了多少可用空间以及将要写入这些图块的作业阶段,最后显示了为存档作业盘算出的将图块移开的优先级。
上一张表仅显示了远程harverster /农民上的驱动器的可用空间。
最后,最后一部分显示了已履行操作的日志-即启动的打印和存档作业。这是交互式工具中有状态的一部分。这些履行的命令行没有永久记载,因此,如果启动新的交互式绘图员会话,则该日志为空。
该系统仅在Linux上进行了测试。Plotman应当可以推广到其他平台,但这还没有完成。一些周围打电话出去的命令行程序(例如,运行问题df
在ssh
获得有关远程归档目录的自由空间)都非常的linux-Y。
交互模式应用curses
库…很差。未收到按键,无法调剂屏幕大小,并且最小终端尺寸非常大。
绘图仪假定所有绘图均为k32。同样,这只是一个未实现的概括。
在“交互”模式或命令行模式之间不一致地支撑许多功效。
有很多毛病和待办事项。
Plotman始终会plotman.yaml
在基于OS的默认地位的盘算机中查找文件。要生成默认值plotman.yaml
,请运行:
> plotman config generate
要显示plotman.yaml
文件的当前地位并检查它是不是存在,请运行:
> plotman config path
Linux的安装:
chia
输入激活您的环境 source /path/to/your/chia/install/activate
。
> pip install --force-reinstall git+https://github.com/ericaltendorf/plotman@main
plotman.yaml
在您的盘算机中基于OS的默认地位查找。要创立默认值plotman.yaml
并显示其地位,请运行以下命令:
> plotman config generate
用作起点的默认配置文件位于此处
plotman version
以验证其版本来运行Plotman 。运行plotman --help
以懂得可用的命令。
如果要派遣Plotman,只需pip install --editable .[dev]
从项目根目录调换安装步骤,即可应用测试和开发附加功效安装您的Plotman版本。
最新solo项目:1天1P云端方案,性价比高。云主机挖Chia币解决方案,p盘解决方案,一站式农场收割解决方案,详询在线QQ客服。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP