P夫NoSSD 显卡P图双开的方法

P夫多开非常容易,推荐使用方法二。

下面两个例子是单卡双开,如果是双卡双开,创建两个P图任务时调整【P图显卡】参数为目标显卡即可。

方法一:常规思路

连续创建两次P图任务即可,注意两个任务的中转盘和最终目录不能相同。

到此双开完成。

方法二:灵活自由

依然要创建两次P图任务,但是不再指定最终目录,将中转盘设置到最终目录的位置。

打开【分发拷贝】功能,将中转盘设置到源目录,所有机械盘设置到最终目录,启动即可。

优点是不需要在P图任务中指定机械盘,更换机械盘时不必重启任务。

NoSSD v2 研究报告

作者无私发布这些信息纯属自干五,对作者唯一的好处可能就是给P夫做做广告,请伸手党自重,小白用户能如此高密度地获取到这么多有用的信息还要什么自行车不要把一切当做理所当然。

NoSSD 9月10日推出了显卡P图、挂图的V2版本,本文在《NoSSD的压缩图研究》的基础上补充一些V2的一些技术性指标和常见问题解答,没接触过NoSSD压缩图的用户请务必看看前面《NoSSD的压缩图研究》的总结。

一、NoSSD V2的基础数据表格

压缩等级C10C11C12C13C14C15
图大小 (GiB)70.864.960.857.353.850.3
较标准图收益提升43%56%67%77%88%101%
4090挂图能力 (PiB)1264425147.53.1
1080 Ti挂图能力 (PiB)2494.42.51.20.5
最低挂盘显存(GiB)0.130.250.841.312.304.49
推荐挂盘显存(GiB)1.021.031.542.594.206.82
纯内存P图内存(GiB)120.3116.2108.1108.1104.1104.1
显卡P图需要显存(GiB)4.95
注:收益提示是指固定空间的存图量提升,实际还要扣除NoSSD的3.5%手续费以及矿池的爆块幸运度的波动。

二、基本结论

  • 想速度快仍然要用SSD,不管是全内存用SSD中转还是不够全内存用SSD作P图缓存;
  • CPU P图在v2也进行了优化,取消了原来的spt压缩到fpt的步骤,整体速度也大幅提升;
  • 目前C10~C15的图只能用GPU挂,C1~C5的图只能用CPU挂;
  • 目前NoSSD没有类似GigaHorse的远程显卡解压功能;

三、P图常见问题

  1. 能边P边挖吗?
    能,如果用单卡边p边挂对显存有要求,P图需要约5GB,挂c15图需要最少4.49GB显存(从上表可查),加一起就是约9.49GB,显卡至少要有10GB显存。 双卡只要分别符合P图和挂图对应的显存要求就可以。
    不建议,群友反馈实际操作起来既拖慢P图速度又会出现挂盘超时。
  2. 使用CPU P图时系统内存最低多少?
    4.21GB
  3. 可以单卡双开P图吗?
    可以。要求显卡至少有10GB显存,因为每个P图任务需要4.95GB显存。
  4. 新的C10~C15图只能用显卡P吗?
    不是,CPU也能P,速度也还可以接受,只是没有显卡那么快,显卡依然是第一选择。
  5. 显卡全内存P图需要多少系统内存?
    104.1GB~120.3GB之间,压缩等级越高需要的内存越少,具体看上面表格。
  6. P图一定要用SSD吗?
    不是,NoSSD的噱头就是不用SSD,但仍然强烈建议用SSD中转,能大幅提高P图速度。
  7. P图必须用【全内存】的模式吗?
    不是,全内存是完全不需要SSD辅助的P图方式,节省SSD的损耗;系统内存不足128G的用户使用内存+缓存盘 P图是可以的,缓存盘可以SSD也可以机械盘,总之一句话用了SSD就快。
  8. 我16G内存可以P图吗?
    可以,NoSSD的P图任务最低只要4.21GB内存,只是这会大幅增大SSD的读写量。

四、挂盘常见问题

  1. 我的3080、3070、1060……等等显卡能挂多少图?
    目前都是软件的评估结论,没有实际的挂盘测试数据,软件测试的显卡挂盘能力表格见本文末尾的表格。
  2. NoSSD挂盘可以像GigaHorse一样用远程显卡解压吗?
    不能,NoSSD暂时没有远程显卡解压的功能。
    可以尝试在挂盘机挂载网络共享磁盘的方式实现1卡多主机挂盘(作者并未实际测试网络带宽以及耗时,仅做理论推荐)。
  3. 假如我P了C14的图,能跟GigaHorse的C8图一起挂吗?
    能,GPU性能足够的前提下显存也要够。
    giga C8挂盘需要约5.77GB显存,NoSSD的C14挂盘需要最少2.3GB(推荐4.2GB)显存,显卡至少要有8.07GB显存(5.77+2.3),单卡挂盘时8G显存可能不够。
  4. 新的C15图能跟原来的5级压缩的NoSSD图能一起挂吗?
    能,需用最新的2.x版本客户端来挂。原来的C5以下的压缩图依然只能用CPU挂,新的C10~C15的压缩图只能用GPU挂。

附录1:不同型号显卡的理论挂盘数据。

表格由群友疯狂星期四收集整理。

给Gigahorse的Windows钱包加个图形界面使用

经本文中的gigafarmer-win-pfu-v2.zip中的giga钱包版本较老,如果想继续使用本文的方法,请下载新版本的钱包程序替换进去。

giga钱包最新版下载地址:https://doc.easyfarmer.org/web/#/5/31

mmx压缩图方案的最后一个模块——Windows版本的定制奇亚钱包已经发布,但它仍然是命令行版本,本文介绍用ForkFarmer给它加个图形操作的界面。

注意 :

mmx提供的这个定制钱包跟奇亚官方钱包默认会冲突,只能运行一个,该定制钱包能完全替代官方钱包的功能;

如果害怕弄不好把奇亚官方钱包的数据也破坏掉,建议完整备份C:\Users\用户名\.chia\mainet整个文件夹;

ForkFarmer简单说就是一个集中管理奇亚和奇亚山寨币的统一客户端,不用逐个启动山寨币的钱包管理维护。

一、准备工作

  1. 下载gigafarmer-win-pfu-v2.zip工具包,解压在P夫的文件夹内(非常重要,除非你自己会搞定Java运行环境);
这四个文件就是本文会用到的

2.初始化奇亚客户端的mainnet目录。

如果本机已经运行过官方钱包,那么在一定已经存在 C:\Users\用户名\.chia\这个文件夹,建议关闭官方钱包,将.chia重命名成.chia2,一旦mmx定制钱包不想用了可以直接恢复到官方钱包的状态。

双击【生成mainnet】即可在C:\Users\用户名 目录下生成.chia文件夹。

3.双击导入助记词,如果直接使用原来的mainnet可以跳过本步。

将助记词的24个单词粘贴到key.txt内,双击【导入助记词.bat】后即可导入,关闭该命令窗口即可。

准备工作结束。

二、使用ForkFarmer

1、双击【启动ForkFarmer.bat】即可启动ForkFarmer图形程序。

界面上可能会显示已识别到的奇亚程序,可以右键-【操作】-【隐藏币种】将它隐藏,因为它识别到的是官方程序不是我们需要的。

2、在界面右键【配置未识别币种】,在弹出的窗口中分别配置如下内容:

假设你本机的P夫的文件夹在D盘:D:\pfu-plotter-Windows-v1.4.9

【config所在目录】C:\Users\<你的系统用户名>\.chia\mainnet\config\config.yaml

【exe所在目录】D:\pfu-plotter-Windows-v1.4.9\chia-gigahorse-farmer\chia.exe

【日志所在目录】C:\Users\<你的系统用户名>\.chia\mainnet\log\debug.log

填好后点击确定保存如下图界面,会提示重新启动软件生效,按要求重启。

3、区块数据库导入

如果是新生成的mainnet里面db是空的,需要从头同步区块db,此时可以从自己原来的mainnet/db目录拷贝数据到C:\Users\<你的系统用户名>.chia\mainnet\db里。

如果就是想从头开始同步数据,跳过此步。

4、启动mmx专用钱包

如果第二步里添加的数据没错,通过右键【操作】-【启动】即可启动钱包了。

软件界面刷新较慢,如果钱包正在同步红色圆点会变成橙色,同步成功会变成绿色。

首次启动防火墙提示请【允许访问】。

由于我已经事先同步完成,状态圆点已经变成绿色,挖矿状态:Farming 表示正在挖矿中,到此已经把mmx的专用钱包启动了。

5、把农田目录配置到钱包中

第一种方法:去原来奇亚mainnet/config/config.yaml里面拷贝原来配置好的图目录粘贴到新的config.yaml中。

第二种方法:在界面右键【查看】-【打开命令行】,在cmd窗口内输入下面命令即可添加一个图目录。

chia plots add -d D:\plot

第三种方法:编辑目录内提供的【批量添加图目录.bat】脚本,把所有目录按此编辑好后双击运行即可批量导入。

chia-gigahorse-farmer\chia plots add -d D:\
chia-gigahorse-farmer\chia plots add -d E:\

三、其他常用操作

1、在币数据行上右键【查看】-【查看日志】/【查看配置文件】,能实时查看日志和配置文件。

2、软件底部能看到钱包的余额变动情况,还能直接操作转账。

四、常用命令

在列表里的币数据行上右键【查看】-【打开命令行】,所有的操作都可以在这个命令行内完成。

chia plots show 查看所有已识别的图

检测某个图的有效性:chia plots check -g 图文件名(可以只填部分字母,会自动模糊匹配)

添加图目录:chia plots add -d E:\

删除图目录:chia plots remove -d E:\

查看挖矿状态:chia farm summary

添加节点:chia peer -a full_node ip:port

查看同步区块高度:chia show -s

查看已连接的节点IP:chia peer -c full_node

查看钱包余额:chia wallet show -f 指纹

Win系统用wsl运行mmx的奇亚的锄头

本教程中的giga-farmer版本是giga5,最新的已经是giga7,请看最新的教程:https://doc.easyfarmer.org/web/#/5/27

Gigahorse显卡P图已经支持奇亚,锄头暂时只有Linux版本,本文使用Windows的Linux子系统功能运行该Linux版本锄头来挂奇亚的压缩图。

本文方法可以继续参考、脚本也能继续用,但是下载链接中的chia-giga-farmer程序已经是老版本,目前win版本已经基本能用,不建议新手继续尝试wsl。

一、准备工作

注意wsl内访问Windows系统磁盘的路径默认是/mnt,假如想配置图目录 C:\MMX\11 配置到锄头内要设置成 /mnt/c/MMX/11
  1. 下载程序包 https://file.c4dig.cn/wsl-gigafarmer2.zip,解压在D盘(别放桌面,一会不好找),解压后就是:D:\wsl-gigahorse-farmer。(注意不要嵌套双层wsl-gigahorse-farmer目录,否则变成了D:\wsl-gigahorse-farmer\wsl-gigahorse-farmer)
  2. 开启Windows的WSL功能,然后打开windows应用商店Microsoft Store搜索ubuntu,下载Ubuntu22.04
  3. 将本程序包解压在D盘(别放桌面,一会不好找),解压后就是:D:\wsl-gigafarmer
  4. 打开D:\wsl-gigafarmer\plot-dir.txt,把所有的图目录配置在里面
  5. 打开D:\wsl-gigafarmer\key.txt文件,删除原有的例子。把自己的助记词的24个单词复制进去,保存关闭。
  6. 用文本编辑器打开 pfu.sh脚本 ,修改首行代码chia_root变量值,该变量用来定义锄头的mainnet路径,找一个大于150GB的SSD给它用。这里举例用D:\abc\mainnet chia_root设置成/mnt/d/abc/mainnet,假如是F盘就设置成/mnt/f/mainnet
  7. 启动WSL的Ubuntu22.04,首次需要初始化账户和密码,按提示操作即可。
  8. 依次执行下面两条命令,不包括冒号
第一个命令将d盘的锄头程序拷贝到Ubuntu中: cp -rf /mnt/d/wsl-gigafarmer ~                      
第二个命令启动自动化脚本: ~/wsl-gigafarmer/pfu.sh

执行成功后能看到如下的界面,开始进行下一步初始化系统。

二、初始化系统( 初始化操作系统、锄头客户端、导入助记词)

初始化系统和锄头:在脚本界面,依次输入并执行这几个批处理命令:initf、initm、initk、initp。

  1. initf:不必多次执行,用来初始化操作系统和锄头的依赖库
  2. initm: 初始化奇亚的mainnet,一定要提前编辑pfu.sh里面的chia_root变量值为你想要设置的mainnet路径
  3. initk:导入助记词,中间会出现提示让输入内存,直接回车跳过即可。
  4. initp:将plot-dir.txt内配置的图目录添加到锄头。

三、锄头相关操作

启动锄头:继续在pfu.sh脚本内输入start回车 启动锄头,或者在wsl操作系统的命令界面输入:cd ~/wsl-gigafarmer/chia-gigahorse-farmer && ./chia.bin start farmer -r 回车。

停止锄头:继续在pfu.sh脚本界面输入stop 回车 或者在wsl的系统命令界面输入:

cd ~/wsl-gigafarmer/chia-gigahorse-farmer && ./chia.bin stop all -d


查看锄头的运行日志:输入log 回车(可以启动多个wsl窗口,一个专门看日志,一个用来操作)
查看挖矿状态(包括同步状态等):输入3回车

正常能够看到下图的内容,Farming status : syncing (正在同步区块) farming(挖矿中)

Total size of plots能看到已经挂上的农田总量

导入下载好的区块db

  1. 先用上面的方法停止锄头
  2. 清空1.6中自己设置的锄头mainnet目录D:\abc\mainnet\db下面的所有文件
  3. 将下载的奇亚db或者自己原来就有的mainnet/db下面的所有文件拷贝到D:\abc\mainnet\db下面
  4. 重新启动锄头

四、其他日常操作

1、启动自动操作的脚本:
~/wsl-gigafarmer/pfu.sh

2、查看锄头运行日志:
用1的方法先启动脚本,输入log回车
取消查看日志按:ctrl + c (没错就是[复制]的快捷键)

3、查看锄头状态
用1的方法启动脚本,输入3回车

2、添加一个农田目录到锄头
cd ~/wsl-gigafarmer/chia-gigahorse-farmer && ./chia.bin plots add -d /mnt/f/plot
该命令是把F:\plot加入到锄头的农田目录,当然最方便是去mainnet/config/config.yaml里面直接修改

3、从锄头移除一个农田目录
cd ~/wsl-gigafarmer/chia-gigahorse-farmer && ./chia.bin plots remove -d /mnt/f/plot

4、矿池操作
稍后再写

五、已知问题

mainnet目录设置在外部ntfs磁盘上时候,奇亚会提示以下权限过大的问题,忽略即可。

NoSSD P图时使用SSD损耗大吗?

损耗非常小,比起madmax等传统P图工具的损耗量简直不值一提。

结论:NoSSD的P图任务(非压缩)对SSD读写消耗量跟分配的内存成反比,内存越多损耗越少。

测试用例还没全部完成。等待后续更新

测试数据

P图总数量101010.4(注1)
P图任务数222
压缩任务数000
压缩等级555
P图任务内存122 GB
(默认)
61 GB12 GB
SSD总写入量1330 GB4056 GB9466 GB
平均单个图写入约88 GB约 365GB约900 GB
SSD总读取量0 GB2743 GB约 8000 GB
平均单个图读取量0 GB约274 GB约 800 GB

注1:测试完10个图后又多p了0.4个图左右。

P夫v1.4.1以及之前版本的NoSSD参数详解

从v1.4.2开始大幅精简NoSSD的创建任务界面,更简单直观。请下载最新版使用!

二、NoSSD的关键参数解析

下图是创建NoSSD的任务界面,左侧红框中全部都是针对P图进程(根据模式决定,不一定只P图)任务的参数,右侧红框【额外压缩任务】进程没有那么多自定义参数。

1、压缩等级:压缩程度,建议默认最高等级5。

数值越大压缩程度越大,可存图越多,收益越多,对挂盘机CPU性能要求越来越高,对CPU要求是根据压缩等级和挂图数量两个因素决定的。

2、P图任务工作模式

  • 【只P图】:强烈推荐!该P图任务只产出spt格式粗压图。该模式可选创建一些【额外的压缩任务】用来协同工作,P图任务负责产出spt,额外的压缩任务负责压缩这些spt为fpt。
  • 【只压缩】:创建的任务就是个普通的压缩任务,跟「额外压缩任务」创建的压缩进程功能一样。只将最终目录里现有的spt压缩成fpt,此时P图参数会有对应限制。内存允许范围[2,4]、CPU不允许调整、挂盘数不允许调整。
  • 【P图&压缩】NoSSD默认工作模式,先P出spt粗压图将最终目录装满,再逐个压缩成fpt。

3、P图任务:并发的NoSSD P图任务数量,不包括压缩任务。

4、额外压缩任务:并发P图流程的关键参数,设置后将创建指定数量的独立的压缩进程,这些压缩进程时刻监控P图程序产出的spt,发现后立即进行压缩。

压缩进程监控范围是所有最终目录,如果有替身盘则监控替身盘。

压缩任务数量只要能及时处理掉新P出来的spt图即可。

好在它们监控状态不消耗系统资源,压缩时每个任务需要1个CPU核心和1.6GB~4GB内存(低于1.6GB无法运行)。

你可能会问这些额外的压缩任务跟直接创建「只压缩」模式的P图任务有什么不同?他们功能完全相同。

5、每个P图任务内存强烈建议提前规划好任务数量和每个任务的内存大小,手动指定具体数值,否则极有可能导致某个任务申请不到最低运行内存而报错。

在NoSSD内核中,如果内存足够大P图任务默认会申请123GB内存,P图任务最低内存要求是2.72 GB;压缩任务默认申请4GB内存,压缩进程最低内存要求1.6GB。

6、每个P图任务CPU:P图任务间歇性使用CPU,所以不必均分CPU核心给各个任务,可适当调高。

在NoSSD内核中每个P图任务默认使用一半的CPU核心,每个压缩任务默认使用1个核心。

7、每个P图任务挂盘数这是影响性能的关键参数,一定要给P图任务分配至少3个机械盘,推荐5个。

8、填充辅助目录强烈建议给P图任务设置辅助盘,想把机械盘完美装满就必然要借助外部空间,这就需要提供除了最终目录以外的一个独立磁盘(或目录),这个磁盘至少要有410+GB空间用来生产fpt文件。

但是并不是一定要配置该参数,如果任务最终目录里面有替身盘、有未被P图任务挂上的最终目录、都会被P夫拿来作辅助盘使用,此时不配置【填充辅助目录】也是可以的。

可以用系统盘的某个目录、单独的机械盘、SSD都可以。

NoSSD默认会将机械盘P满spt,保证第一时间形成算力获得收益,这是不错的机制,但是P出最终的fpt图装满机械盘的过程就比较曲折,逐个压缩这些spt为fpt,挤出来空闲空间再重新P图直到把硬盘的装满fpt文件,机械盘大概率会剩余一个spt无法解决(当然有时候磁盘剩一个spt无所谓,即使把它压缩了也无法再多存一个图,P夫填充磁盘时候会根据实际情况决定是否压缩最后一个图)。

9、最终目录:就是存图的机械盘,盘的数量决定了并发任务数量。

假如有8个机械盘(最终目录),【每个P图任务挂盘】设置为5,【P图任务】设置为4,此时因为没有足够的机械盘只会创建2个P图任务。

如果想开3个并发P图任务,每个任务4块盘,总共能挂12块盘,如果有SSD或者其他盘建议也加到最终目录里面,12块盘之后又加了两个SSD在最后,那么最后这两个SSD就会在前面12个盘全部被NoSSD P满时最后填充时充当辅助盘。

【填充】是指NoSSD会剩余一个最大达225G的tmp和1个spt在盘里,P夫在最后会想办法全用fpt装满磁盘,这就需要借助外部磁盘实现。首先会寻找替身盘当辅助盘、其次是P图任务没挂上的机械盘、最后是任务中的某个机械盘。所以最差的情况是P图任务下的N个盘中有N-1个盘完美装满了fpt,还有一块盘会剩下spt。

10、替身SSD:虽然称为SSD,配置一个高速机械盘也是可以的。加上这个功能是因为NoSSD在P图和压缩对SSD的损耗极少(有待更多数据验证)。

它代替机械盘进行P图和压缩,只将最终的fpt文件拷贝到机械盘(是压缩成fpt再拷贝,还是一边压缩一边导出是可配置的)。为体质参差不齐的机械盘提供P图速度保底;并且有了替身盘直接就可将机械盘装满fpt而不必像原生NoSSD那样剩余NoSSDChiaPool.tmp、spt文件之后再由P夫逐个填满。

单个P图任务写入速度大概270+MB/s,压缩任务可能有130+MB/s,可以将一个SSD分配给多个机械盘当替身,建议普通sata接口的SSD不要给超过2个任务做替身,m2或者企业固态请根据SSD读写能力自行决定数量。

一个替身目录极端情况会有三个进程同时读写,1个P进程P图、1个压缩进程压缩、1个剪切图的进程往机械盘拷贝fpt,(剪切图进程和压缩进程在勾选【从替身直接压缩到机械盘】时不会同时存在)。

11、从替身直接压缩到机械盘:建议默认勾选即可。

该功能只对有【替身SSD】的最终目录生效,强烈推荐勾选,替身盘中的spt文件压缩同时导出在机械盘,免去了在替身盘中压缩后再次剪切的步骤,避免浪费时间。

三、NoSSD参数例子

样例1,该例子仅用作参数介绍,不是P图参数建议!!!

主机物理内存512,CPU核心128,19个物理机械盘

4个P图任务需要内存 4 x 90 GB = 360 GB,6个压缩任务需要内存 6 x 4 GB = 24 GB,这要求主机要有至少360 GB + 24 GB=384GB空闲内存。

能开4个P图任务的前提是要有足够多的机械盘,【每个P图任务挂盘】5个,最多需要20个盘,最少需要16个,硬盘<=15只会创建3个P图任务,此例子中每个任务的挂盘数就是:5、5、5、4。

例子2:主机CPU64核心、128GB内存、18块机械盘,想开2个并发P图和4个压缩,如何设置?

例子2的创建任务确认提示:

四、一些已知问题:

  1. NoSSD内核有时候无法申请到【已缓存】状态的系统内存导致任务实际使用的内存远低于系统可用的内存。

批量清除Linux下机械盘的5%预留空间

Linux默认会给磁盘预留5%空间,原本能存100个图现在只能存95个,对于P图存图肯定不希望这样。我已经将清空预留空间操作写成自动化脚本,运行下面一条命令即可自动清除所有机械盘的预留空间。

wget https://file.c4dig.cn/pfu-plotter/others/clearDiskReservedBlock.sh -O a.sh && chmod +x a.sh && sudo ./a.sh

P夫的NoSSD压缩图参数详解

P夫1.4.0开始集成了NoSSD的P图和挂盘挖矿。作者进行了大量的测试,在流程方面做了很多工作尽可能地提高单位时间产出效率和自动化。

更新记录:

2022年12月8日 第二版

2023年1月12日 第三版 适配1.4.8版本

之前版本请访问《P夫v1.4.1以及之前版本的NoSSD参数详解》

一、先了解NoSSD的P图程序

NoSSD的P图流程跟传统P图流程完全不同,总共分为了两步,第一步先P出一个spt格式粗压图,第二步将spt进一步压缩成fpt格式的最终图。在P夫里第一步被称为「P图」、第二步称为「压缩」,本文中「P图」有时候也笼统表示广义上的P图+压缩。

P图阶段需要大量CPU和内存,压缩阶段同样需要大量CPU和2~4GB内存。默认情况P图和压缩是串行状态,将P图和压缩两个阶段分开后同时执行是提高效率的有效办法。P夫里最重要流程优化就是可以随意指定两种并行任务数量。

串行任务在后半段系统资源浪费严重
并行方式能保持全程资源高使用率

总结加快P图速度的核心思路

  1. P图和压缩分开进行
  2. 多开P图任务
  3. 每个P图任务至少给搭配3块机械盘,没那么多机械盘用SSD替身来取代
  4. 用SSD替身能将速度最大化

二、NoSSD P图参数解析

P夫 v1.4.8新版界面

1、压缩等级:压缩程度,建议默认最高等级5。

数值越大压缩程度越大,可存图越多,收益越多,对挂盘机CPU性能要求越来越高,对CPU要求是根据压缩等级和挂图数量两个因素决定的。

2、P图任务的参数和压缩任务的参数

「P图任务数」和「压缩任务数」代表了想要创建的并发任务数量,后面的「内存」「CPU」分别表示每个P图任务(或压缩任务)的独立参数。

值得注意的是并不是设置3个「P图任务数」就一定会建立3个P图任务,还受限于最终目录数量,3个P图任务要有至少3个最终目录才能成功创建。

例子1:最终目录10个,「P图任务数」=3,会建立3个P图任务,每个P图任务的分配的最终目录数量是4、3、3。

3、最终目录:就是存图的机械盘,盘的数量决定了并发任务数量。

4、替身SSD:虽然称为SSD,配置一个高速机械盘也是可以的,好处是能利用SSD的速度实现p图速度最大化。

它代替机械盘进行P图和压缩,只将最终的fpt文件拷贝到机械盘(是压缩成fpt再拷贝,还是一边压缩一边导出是可配置的)。为体质参差不齐的机械盘提供P图速度保底;并且有了替身盘直接就可将机械盘装满fpt而不必像原生NoSSD那样剩余NoSSDChiaPool.tmp、spt文件之后再由P夫逐个填满。

单个P图任务写入速度大概270+MB/s,压缩任务可能有130+MB/s,可以将一个SSD分配给多个机械盘当替身,建议普通sata接口的SSD不要给超过2个任务做替身,m2或者企业固态请根据SSD读写能力自行决定数量。

一个替身目录极端情况会有三个进程同时读写,1个P进程P图、1个压缩进程压缩、1个剪切图的进程往机械盘拷贝fpt,(剪切图进程和压缩进程在勾选【从替身直接压缩到机械盘】时不会同时存在)。

三、其他参数

3.1、填充辅助目录:想把机械盘完美装满就必然要借助外部空间,这就需要提供除了最终目录以外的一个独立磁盘(或目录),这个磁盘至少要有410+GB空间用来生产fpt文件。

但是并不是一定要配置该参数,如果任务最终目录里面有替身盘、有未被P图任务挂上的最终目录、都会被P夫拿来作辅助盘使用,此时不配置【填充辅助目录】也是可以的。

可以用系统盘的某个目录、单独的机械盘、SSD都可以。

NoSSD默认会将机械盘P满spt,保证第一时间形成算力获得收益,这是不错的机制,但是P出最终的fpt图装满机械盘的过程就比较曲折,逐个压缩这些spt为fpt,挤出来空闲空间再重新P图直到把硬盘的装满fpt文件,机械盘大概率会剩余一个spt无法解决(当然有时候磁盘剩一个spt无所谓,即使把它压缩了也无法再多存一个图,P夫填充磁盘时候会根据实际情况决定是否压缩最后一个图)。

3.2、Public key :代P时候可能需要用到的参数,自己P图请忽略。

由于NoSSD的压缩图里面不包含任何账号信息,它可以用来防止代P老板拷贝图直接给你,NoSSD池子里两个相同的图是无法同时获得收益的。

NoSSD的压缩图研究

本文写于2022年11月,内容针对的是NoSSD的1.x版本,2023年09月11日已经发布了2.x版本,P图部分的结论已经不再适用于2.x。

最近这个NoSSD压缩图的矿池出镜率比较高,它是个奇亚压缩图的矿池整体方案,调研之后打算将它集成进P夫,预计三五天内能发布第一个版本。

有趣的是它P图过程对CPU使用是间歇性的,写盘速度很明显在软件层面做了特定的限制,基本维持在270MB/s左右,所以CPU性能对P图时间影响不像传统P图内核那么大,限制了写盘速度也导致SSD的优势没那么大,但是P图的流程有较大的优化空间,这也是P夫要做的。

NoSSD官网:https://nossd.com/

下面是我调研之后的一些结论,方便大家快速了解。

一、关于NoSSD的一些结论

  • 它是个闭源的压缩图算法,未被chia官方认可;
  • 猜测可能是NoSSD自己实现了读取图的数据层相关逻辑,本质上我们P的图属于NoSSD的账号,如果有一天NoSSD发放的收益变少也是有可能的,请自行评估风险;
  • 它不是压缩现有的plot图,需要重新P图,并且NoSSD的图是私有格式无法solo、无法切换其他池;
  • 它的图文件不是plot,粗压缩文件是.spt,最终压缩后的图文件是.fpt ,粗压缩的spt文件就已经可以用来挖矿产生收益;
  • NoSSD的P图分为两步,第一步粗压缩后的图文件是spt格式,第二步将spt压缩成fpt格式,fpt文件就是最终的压缩图;
  • 压缩比率分为五级,相较于传统plot图最大压缩比例为23%,压缩程度越高图文件越小、单位存储量越高、总收益也就越高,对挂盘机CPU的要求也越高;
  • NoSSD的图文件中不包含任何你的个人信息,图在谁的盘里它就是谁的,因此它的挖矿奖励地址是可以随便更换的(任何奇亚指纹生成的收款地址都可以);
  • 基于上一条,不要随便购买其他人的NoSSD带图盘,因为无法辨别盘中的图是P的还是拷贝来的;
  • 基于上述原因为了防止代P老板欺骗你,NoSSD贴心地设计了一个加密解密图的功能,你可以给代P老板生成一个P图秘钥(public key),这个key是你用自定义的密码生成出来的,不知道密码的情况下别人无法解锁代P出来的图进行挖矿,从而保证你找别人代P时不会被骗;

二、NoSSD的一些常见问题

1、NoSSD是什么?

它是个奇亚矿池,有自研的压缩图算法可以压缩图文件。

2、NoSSD有什么优势?

它的压缩图算法能把标准的k32图压缩最高23%,提高单位存储空间的存图量从而提高收益。

3、要重新P图吗?

要,好消息是完全可以只用机械盘P图,速度也还不错。

4、如何P图?

命令P图:下载NoSSD官方的工具,P图参数略有些复杂,之后有时间单独开贴介绍吧,建议直接参考官方的帮助文档 https://nossd.com/help

图形自动化P图工具那必须是【P夫】了。

5、P了图如何挖?

用NoSSD给的挖矿程序,无需安装奇亚官方客户端,更不需要同步区块数据。

命令挖:下面给个只挖矿的命令例子,假设d盘和e盘是压缩图的目录,有更多盘照样都拼上就行了,收款地址可以随意更换,中括号里面的参数不是必需的,自己看情况加上。

client.exe -a xch收款地址 -d,r d:\ -d,r e:\ [-w 挂盘机名字(用来区分多个主机的贡献)]  --no-benchmark --no-plotting --no-finalizing [-p 图密码] [--m-threads 挖矿程序使用CPU核心数] 

--no-finalizing 禁用压缩
--no-plotting 禁用P图
--no-benchmark 禁用性能评估

图形工具挖:P夫里附带了个NoSSD的一键挂图挖矿功能(严格说P夫只专注P图,以后可能会做成一个单独的工具)。

三、NoSSD压缩图跟各个P图核心的硬件需求对比


NoSSD P图程序madmaxBladeBit 纯内存
CPU越强越好(注1)越强越好越强越好
内存越大越好(注2)要求极低(用Ramdisk另说)416GB(不算系统使用的)
SSD不需要(注3)不超过256GB(k32)至少102GB做中转(注4)

注1:CPU性能决定了一台机器的P图速度上限。

注2:越大越好不是很严谨,NoSSD默认单个P图任务123GB内存,更大内存意义不大,假如开了2个P图任务,那么超过256内存就没有太大意义了。

注3:用SSD当然更好,但是机械盘只要速度正常发挥也基本能CPU和内存资源利用最大化。

注4:虽然bladebit不强制使用SSD接收内存导出的图文件,实际上已经是标配了,否则严重拖慢P图速度。

奇亚的几个P图内核简介

奇亚有史以来总共就三个P图内核程序,市面上所有的第三方P图工具都是在这三个内核上做的二次包装,简单说就是给它们加了个图形界面的外皮。

本文以下讨论的缓存占用大小均以K32为标准。

一、P图内核介绍

这三个P图内核分别是:chiapos、chia-plotter和bladebit,下表将bladebit 2.0姑且也算作一个新内核。

功能对比chiaposchia-plotter
madmax
bladebitbladebit 2.0NoSSD
压缩图
速度最慢中等最快快于chia-plotter较快
速度量级1小时左右主流约20~60分钟约5~15分钟快于chia-plotter最快12分钟左右
内存要求每个任务3.32GiB左右未知(可能是几百兆)最少416GiB自由设定
达到192GB最佳
默认最大123GB,可手动调小
缓存盘要求每个任务约239GiB少于256GiB不需要暂时未知不需要SSD,有1个机械盘就能开始P图
K范围k32~k35
测试图最小可以k25
k32~k34
测试图最小k26
k32k32k32
优势可以P k35的大图SSD P图速度最快,使用110G ramdisk能节省大量SSD损耗速度最快、不损耗SSD原生支持内存缓存,并且能自定内存大小,降低内存门槛不需要SSD,对于低性能电脑比较友好
劣势速度最慢、多任务调度困难无明显缺点,速度中规中矩硬件门槛高即使是2.0.1正式版似乎也不算十分稳定P图命令晦涩难懂,机械盘数量影响速度
开发者奇亚官方团队madMAx43v3rharold-bharold-bNoSSD团队

1.1 chiapos

它在奇亚官方客户端中叫做Chia Proof of Space,虽然三个内核都已经集成到了chia官方客户端中,但我还是习惯称呼chiapos为【官方内核】,它是官方内置的第一个P图内核程序,它的代码集成在了奇亚币最核心的chiapos项目中,在chia-plotter发布前它是唯一的P图选择,它的缺点非常多,比如:无法最大化利用CPU、内存等系统资源、多个任务之间无法协调优化,它的低效的实现算法就决定了它最后被抛弃的命运。

1.2 chia-plotter

它是由国外开发者madMAx43v3r开发,它的名字太普通了所以大家也习惯用作者名字称呼它为madmax,一经发布立即碾压了官方内核,作者放出的测试日志显示它的速度来到了42分钟(k32),由于它P图时CPU资源几乎是全程100%,使用时不必像官方内核一样要同时启动多个任务,也不用精心协调调度这些任务,只要启动一个P图任务即可又快又省力地P图了,这也就是为什么有人给它起名:极速快P内核、快P。

1.3 bladebit

作者公开发布软件的消息是他2021年7月7日在YouTube发布了一个P图视频,使用64核ARM 架构Graviton 2 处理器+416GiB内存5分钟P完了一个k32,将P图速度提高到了5分钟级别。

后来奇亚官方在1.2.11版本将个人开发者的两款内核都集成在了官方客户端中,算是得到了官方的认可,harold-b更是被奇亚官方收编,bladebit项目也转移到了奇亚官方github账号下。

二、扩展阅读:全内存、半内存

2.1【全内存】

字面能看出是指P图任务完全在内存中进行,不再损耗SSD,全内存有两种实现方法:

第一种是416GiB内存+bladebit内核

第二种是将至少240GiB内存用软件虚拟为硬盘(也就是RamDisk,说白了就是把内存空间虚拟成硬盘用),使用chia-plotter内核将RamDisk作为缓存目录P图(官方内核理论也能用但还是因为资源无法高效利用不在考虑范围)

bladebit方案RamDisk方案
内存要求至少416GiB至少240GiB
内核bladebitchia-plotter

2.2 半内存

半内存指的是给chia-plotter的两个缓存目录分别使用SSD和RamDisk磁盘,创建一个不小于110GiB的RamDisk,将它配置到chia-plotter的-2参数上,再将另外一个SSD缓存目录配置到chia-plotter的-t参数上。

值得注意的是chia-plotter使用RamDisk几乎不会提高速度,它的唯一的优势是可以分摊75%的SSD损耗到内存上。

另外,bladebit 2.0也是一个半内存方案,准确说它才是原生支持半内存的P图方案,毕竟chia-plotter还需要借助第三方工具将内存虚拟成硬盘,bladebit 2.0目前尚未正式发布,暂不参与讨论。

广告:

老板们的时间不要用来研究P图,花点小钱解放双手,最屌的P图工具请点这里