PrimoCache无论如何都是在机械硬盘正常操作读取完之后再次读取机械硬盘进行缓存的,这样相当于机械盘上读取了2次,如果碰上较大的连续读取不间断的读取情况基本上没有缓存的时间。
比如我有个10T的机械盘和1T的SSD做缓存,先读了500G文件夹A,然后马上又读取了文件夹B的500G,此时文件夹A的500G没有被缓存,这500G文件夹A可是复制了老半天却一点都没被缓存。
如果能进行实时缓存,这个效率就高了,设置里最快是1秒,但连续读取的情况下即便是1秒都没有进行缓存。
能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
Re: 能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
不现实。
下次你打开个500G的视频,可能这辈子你这个视频也就打开那么一两次,然后实时缓存了。往ssd里写了500G。以后也用不上,还浪费ssd 500G的写入寿命,你又会觉得不合理了
下次你打开个500G的视频,可能这辈子你这个视频也就打开那么一两次,然后实时缓存了。往ssd里写了500G。以后也用不上,还浪费ssd 500G的写入寿命,你又会觉得不合理了
Re: 能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
问题是这500G依然还是会被缓存进去的,并不是不缓存了,只是还得再从机械盘读一遍形成了2次读盘。
Re: 能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
二级缓存是在系统空闲时进行的,这是为了避免影响系统正常运行的其它任务。实时缓存的缺点是会影响原有任务的读速度,而且数据量大的时候需要大内存做中间存储。
如果有同时设置了一级缓存,并且一级缓存中已经有相应的数据时,PrimoCache就会从一级缓存中读取数据并保存到二级缓存。
如果有同时设置了一级缓存,并且一级缓存中已经有相应的数据时,PrimoCache就会从一级缓存中读取数据并保存到二级缓存。
Re: 能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
那一级缓存能否实现动态调整释放呢?例如系统需要更大内存的时候可以压缩,不需要的时候可以最大化?
Re: 能否实现实时缓存,发现读缓存的数据机械盘会被读取2次。
@lzlz1300, 谢谢建议,我们也有考虑过这些,但很抱歉,暂时不会实现这个功能,主要是会引起很多性能上的问题,缓存调度也会变得更加复杂。