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.6(有bug)

最近的改动都集中在NoSSD P图功能、NoSSD挂盘挖矿、分发拷贝这三大块,其他功能几乎无变动。

已发现NoSSD创建任务严重Bug,等稍后更新或使用稳定版本。

主要改动

  • 再次精简去掉NoSSD创建任务时的参数:挂盘数
  • 分发拷贝自动跳过P夫工作目录,避免影响正常的P图过程
  • 修复自动扫描取消扫描深度不生效
  • 修复NoSSD磁盘将满时有些情况会因为命令不完善出现警告问题
  • 修复拷贝任务ID序号重复赋值问题

下载

最近3个版本Bug较多

状态

admin

最近3个版本分发拷贝、自动扫描目录bug较多,已知的有:分发拷贝功能功能多了但是拷贝文件效率低,已经计划改回原来的毕本;自动扫描目录完善了几次仍然有不足,要么扫不到 要么界面没刷新。

P夫 v1.4.4(有bug)

修复上个版本的自动扫描深度不生效、目录更新但界面数据不刷新等问题

增加了界面的自动刷新数据机制

已知bug:Windows自动扫描目录某些情况会出错、【分发拷贝】修改版可能不稳定。使用【分发拷贝】功能仍然推荐使用1.4.2。

下载

该版本有bug,下载地址已被管理员删除。

P夫 v1.4.3(有bug)

本次主要改动优化了【分发拷贝】、压缩图相关的功能。

改动较大,图稳定建议等两天稳定后再升级。

已经确认有一些明显bug,请下载新版。

一、主要改动

  • 主要增加了批量添加目录功能
  • 修复分发拷贝提前删图的bug
  • 【分发拷贝】增加最大任务限制、源目录均衡分摊、增加了拷贝任务队列
  • 修复NoSSD不能创建纯压缩任务问题
  • 修复自动扫描目录bug
  • 修复Linux系统试用NoSSD挂盘功能
  • Ubuntu不再采用联网安装

二、下载

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内核有时候无法申请到【已缓存】状态的系统内存导致任务实际使用的内存远低于系统可用的内存。