Linux相当于ReadyBoost吗?


19

是否有内核模块或其他补丁程序或类似于Windows的ReadyBoost的程序

基本上,我正在寻找一种允许磁盘读取缓存在闪存驱动器上的东西。


带有USB 2.0的闪存驱动器确实很慢,我不知道为什么要这么做。
雏菊2012年

1
@ warl0ck,即使使用USB 2.0,我也不同意。非竞争总线上的USB 2.0带宽为480兆比特/秒== 60 MB /秒。即使打折,比如说20 MB /秒的开销,那仍然是相当可观的速度。没关系,USB 3.0变得越来越流行,并且具有每秒5 Gbit的容量。没关系,从硬盘上卸载任何东西都是值得的。如果要从磁盘读取1GB的废话,并且200 MB恰好在readyboost高速缓存中缓存,则必须从磁盘读取的磁盘空间要少200 MB,并且可能与硬盘读取并行发生。
antiduh 2013年

Answers:


17

Bcache可能正是您要寻找的东西:

Bcache是​​Linux内核块层缓存。它允许一个或多个快速磁盘驱动器(例如,基于闪存的固态驱动器(SSD))充当一个或多个速度较慢的硬盘驱动器的缓存。

我热切地等待着将其包含在Linux主线中,但不幸的是,它还不存在

一些不错的可读信息也可以在这里找到:

试试看,看看它如何在您的系统上工作!


5

没有了,它真的不再有意义了。

当计算机受RAM限制,驱动器速度很慢且闪存价格便宜时,ReadyBoost在短时间内很有用。随着内存这么便宜,现在,它使很多更有意义的使用,而不是RAM。

目前,典型的闪存驱动器的写入速度仅为约5MB / s,读取速度为约20MB / s。将其与硬盘驱动器的50MB / s读写相比,似乎没有什么意义。

ReadyBoost的实际性能优势仅在内存受限的系统上才能看到。


3
如果说平板电脑或上网本的内存有限,是否有意义?另外,我认为ReadyBoost背后的想法并不是要使读写速度更快,而是可以大大减少随机访问时间(传统HD的随机访问时间约为17ms,而闪存驱动器可能小于1毫秒)。
内森·奥斯曼

减少随机访问时间与提高读取速度相同。与添加更多RAM相比,这毫无意义。当添加RAM不切实际时,这在很短的时间内基本上是权宜之计。
David Schwartz

4
除了必须先尝试访问文件来填充RAM才能使将来的访问受益之外,并且每次引导后都必须重复此操作。Flash允许持久缓存,因此可以帮助加快启动时间。
psusi 2011年

从那以后,我在机器上添加了一个SSD,即使在我昂贵的Corsair Survivor闪存驱动器(读取速度为〜36MB / s)周围,它也可以绕圈旋转。
内森·奥斯曼

1
我投票了。Readyboost与RAM约束无关。它是硬盘驱动器的块级缓存,有两个好处:1)在访问硬盘驱动器时可以同时访问它,其作用类似于部分RAID镜像。2)它可以任意扩展,而RAM通常受主板空间的限制。我可以根据需要购买任意数量的闪存驱动器,并将它们粘贴在每个根集线器上(这样就不会共享带宽),并且可以使它们变大。祝您好运以不到200美元的价格将价值128 GB的RAM带入台式机
antiduh 2013年

3

ZFS于2004年起源于Solaris,现在在包括FreeBSD和Linux在内的一些Unices中可用(尽管由于许可问题,在Linux上仍处于beta中,而不在主线内核中),还允许L2ARC在任何块设备上添加一个或多个二级缓存来调用同样的目的


2

我一直在问自己同样的问题,但对这里的当前答案不满意,我自己做了一些研究。到目前为止,尚未对此进行测试,但是Linux 3.9上的这个细节改变了提供了一个有用的起点。它提到了三种技术,它们应能实现类似于ReadyBoost的效果,尽管有时重点似乎是缓存写入而不是读取。进一步的研究发现更多。

一旦我对其中至少一个有了一些第一手的经验,我可能会更新这个答案。在此之前,使用这些名称之一作为关键字搜索网络应该会产生大量的教程,说明,观点和基准。


1

我还没有找到适用于Linux的模块,但是DragonFly BSD具有与Windows ReadyBoost 等效的功能。该功能称为SwapCache。它使用快速交换分区(SSD / Flash)缓存另一个驱动器(HDD)的数据和元数据。

手册页介绍了如何配置要缓存的信息。它描述了用例以及何时以及如何使用这种缓存机制。当系统仅不时交换(即RAM的数量略短)或频繁读取和写入元数据时,这似乎很有趣。


0

Linux具有cachefs,它允许您将后备缓存文件系统添加到任何文件系统。它最初是由Sun Microsystems于1993年设计和发布的,用于NFS,并很快被其他类似Unix的系统复制。是的,它已经存在并且已经存在多年了。:)


8
这甚至是不正确的。自己在Wikipedia上有关该主题的条目中查看:en.wikipedia.org/wiki/CacheFS

是的,很不幸,CacheFS在本地磁盘文件系统上不起作用。从理论上讲可以,但是尚未完成将支持添加到通用本地文件系统的工作。
psusi 2011年

-1

好吧,据我了解,Readyboost基本上是页面文件的扩展,相当于FreeBSD上的交换分区(我认为在Linux中是类似的),因此您可以仅将闪存驱动器分区为交换分区就可以了。

但是,我对这些事情几乎一无所知。


5
请注意,由于写入周期的限制,在闪存驱动器中大量使用交换可能对闪存有害。
雷南
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.