可以在 Windows 10 中配备 SSD 的机器上启用 ReadyBoost 吗?

可以在 Windows 10 中配备 SSD 的机器上启用 ReadyBoost 吗?

插入多个闪存驱动器并在“属性”下选择“ReadyBoost”后,我看到了这样的消息:“此设备不能用于 ReadyBoost。未启用 ReadyBoost,因为这台计算机的速度足够快,ReadyBoost 不太可能提供额外的好处。”

我理解,当内存需求超过已安装的 RAM 时,就会使用 SSD。但是,我有一个模糊的想法,我更愿意将额外的操作放在便宜的闪存驱动器上,而不是系统驱动器上,即使性能会慢一点。我只打算在执行内存密集型任务时使用它。已安装的 RAM 为 16GB。

答案1

我理解,当内存需求超过已安装的 RAM 时,就会使用 SSD。但是,我隐约觉得我更愿意在便宜的闪存驱动器上而不是系统驱动器上进行额外的操作,即使性能会慢一点。

ReadyBoost 只能在特定情况下启用,如果您有足够的系统内存,则无法启用。启用或禁用 ReadyBoost 的能力完全取决于您打算在其上启用它的存储设备以及您有多少系统内存。您无法在 SSD 上启用 ReadyBoost。

我仅打算在执行内存密集型任务时使用它。已安装的 RAM 为 16GB。

由于您已经安装了 16 GB,因此启用 ReadyBoost 不会给您带来任何好处。当您尚未安装足够的系统内存(少于 4 GB)时,ReadyBoost 会显著降低性能,但这是值得的。

您无法启用 ReadyBoost 的具体原因已在您的问题中说明

此设备无法用于 ReadyBoost。未启用 ReadyBoost,因为此计算机速度足够快,ReadyBoost 不太可能提供额外的好处

ReadyBoost 仅可在满足特定性能指标的可移动存储设备上启用。

  1. 可移动媒体的容量必须至少为 256 MB。

  2. 该设备的访问时间必须为 1 毫秒或更短。

  3. 对于在整个设备上均匀分布的 4 kB 随机读取,设备必须能够实现 2.5 Mbit/s 的读取速度,对于在整个设备上均匀分布的 512 kB 随机写入,设备必须能够实现 1.75 Mbit/s 的写入速度。

来源:准备好提振

我所寻求的好处是延长我的 SSD 的使用寿命。

即使您能够启用 ReadyBoost,您的应用程序也无法使用超过 16 GB 的内存。

ReadyBoost 与 SuperFetch 协同工作。SuperFetch 也是在 Windows Vista 中引入的,它可以监控您在计算机上使用的程序,并自动提前将其应用程序文件和库加载到计算机的内存 (RAM) 中。

SuperFetch 通常使用计算机的内存 - 它会将这些文件缓存在您的 RAM 中。但是,SuperFetch 也可以使用 USB 记忆棒 - 这就是 ReadyBoost 的作用。当您将 USB 驱动器连接到计算机并启用 ReadyBoost 时,Windows 会将 SuperFetch 数据存储在您的 USB 驱动器上,从而释放系统内存。

最好将 SuperFetch 数据存储在计算机的 RAM 中,而不是 USB 记忆棒上。因此,ReadyBoost 仅在计算机 RAM 不足时才有用。如果 RAM 绰绰有余,ReadyBoost 就没什么用了。

由于您有足够的内存,ReadyBoost 存储的任何数据都已存储在内存中。ReadyBoost 会阻止在您的 SSD 上创建页面文件,我猜想这正是您想要避免创建的。

来源:Windows ReadyBoost 值得使用吗?

我了解,由于内存需求超出已安装的 RAM,因此使用 SSD。

但事实并非如此,或者更具体地说,这个说法本身太过笼统,并不真实。

答案2

插入多个闪存驱动器并在“属性”下选择“ReadyBoost”后,我看到了这样的消息:“此设备不能用于 ReadyBoost。未启用 ReadyBoost,因为这台计算机的速度足够快,ReadyBoost 不太可能提供额外的好处。”

我不知道为什么当你有 SSD 时需要 readyboost,但即使你有 SSD,启用 readyboost 的最简单方法是使用埃博斯特

我理解,当内存需求超过已安装的 RAM 时,就会使用 SSD。但是,我有一个模糊的想法,我更愿意将额外的操作放在便宜的闪存驱动器上,而不是系统驱动器上,即使性能会慢一点。我只打算在执行内存密集型任务时使用它。已安装的 RAM 为 16GB。

据我所知,Windows 10 已经具有超级读取功能,并且采用了 Linux 的 ZRAM。

它会将交换文件以压缩的 zip 格式存储在内存中。因此它不会频繁接触 SSD/HDD。

readyboost 也是 superfetch 的一部分,它将预取/预加载某些应用程序文件。

准备好 boost 存储 dll、dat、js 等...... 在 usbflashdrive、ramdisk 甚至 GPU ramdisk 上。

您使用的任何类型的存储都可以作为 readyboost。

readyboost 仅使应用程序加载更快。

readyboost 中没有任何操作,它只是存储预加载的缓存

答案3

据我所知,ReadyBoost 是文件的读取缓存,因此可以同时从两个设备(HDD 和 USB)读取文件,从而减少了加载文件的时间。

但要实现这一点,HDD 必须很慢而 USB 必须很快(就随机 4K 读取而言)。

因此如果您的系统有一个 SSD,那么使用速度较慢(与 SSD 相比)的 USB 设备对 ReadyBoost 没有任何好处。

ReadyBoost 只是一个读取缓存,它与虚拟 RAM(页面文件)无关。

ReadyBoost 是在 HDD 正在执行其他读/写任务时通过从 USB 读取可执行文件来更快地加载可执行文件;但仅限于此(读取时间),为此 ReadyBoost 会将文件复制到 USB,这些文件认为将来在应用程序启动时会被读取。

ReadyBoost 不缓存单独的 4k 块,只缓存完整文件。

至少这是我所知道的。

因此尝试将 ReadyBoost 与快速 HDD 或比 HDD 快得多的 SSD 一起使用是没有好处的(这是 M$ 的想法),在我看来,在 SSD 饱和读写并且一个应用程序正在运行并且其文件驻留在不同的驱动器上的情况下,它可能会有一点好处。

与 ReadyBoost 相当的一件事是拥有六个小而快的 SSD 并在每个 SSD 上只安装一个应用程序,这样当同时运行多个应用程序时,加载时间(以及写入时间)会大大改善...这个概念就是 ReadyBoost 所做的,但是使用 USB 闪存驱动器...使读取能够并行...不多也不少。

如果您确实想将页面文件移到另一个驱动器,那么有一个非常简单的方法可以做到,但它必须是在启动的第一阶段看到的内部驱动器(而不是在需要驱动程序的控制器等中)。

让我通过两部分(删除页面文件并将其符号链接到另一个驱动器)来解释如何操作,第一部分(删除 pagefile.sys):

  1. 配置虚拟 RAM 以不使用(需要删除 pagefile.sys)
  2. 重新启动以使更改生效
  3. 属性-S-HC:\pagefile.sys
  4. 删除 C:\pagefile.sys

第二部分(将 pagefile.sys 符号链接到另一个驱动器):

  1. NOTEPAD D:\pagefiles.sys 并告诉它创建它
  2. MKLINK C:\pagefile.sys D:\pagefile.sys
  3. 属性 +S +HC:\pagefile.sys
  4. 根据需要配置虚拟 RAM(动态大小或固定大小),但在 C 上:

这样,Windows 将会看到 pagefile.sys 位于 C:\pagefile.sys,但其数据位于 D:\pagefile.sys,因此所有虚拟 RAM 写入和读取都转到 D: 驱动器而不是 C: 驱动器。

注意:将 C: 替换为您安装 Windows 系统文件的路径,并将 D:\pagefile.sys 替换为您希望的任何路径,例如 E:\MyVirtualRamHolder\pagefile.sys

这适用于几乎所有实现了 SYMLINK 的 Windows,并且我在我的所有机器(包括虚拟机)上使用它来提高速度和耐用性;我使用两个 NVME,一个用于系统,一个用于应用程序,一个 SSD 用于页面文件,另一个 SSD 用于一些数据,另一个用于其他数据等,最多 14 个 SSD + 2 个 NVME。

查看屏幕截图:

命令行显示 pagefile.sys SymLinked 到另一个驱动器

虚拟 RAM 正常配置,固定大小且 Min=Max

答案4

如果这两个键存在,那么 ReadyBoost 将不被允许,因为 USB 闪存驱动器上会出现“策略”错误消息,删除它们可以让 ReadyBoost 再次出现。

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt" /v "GroupPolicyDisallowCaches" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt" /v "AllowNewCachesByDefault" /f

另请参阅:

@echo off
::ReadyBoost
reg add "HKLM\SYSTEM\ControlSet001\Control\Class\{71a27cdd-812a-11d0-bec7-08002be2092f}" /v "LowerFilters" /t REG_MULTI_SZ /d "fvevol\0iorate\0rdyboost" /f
reg add "HKLM\SYSTEM\ControlSet001\Services\rdyboost" /v "Start" /t REG_DWORD /d "0" /f
reg add "HKLM\SYSTEM\ControlSet001\Services\SysMain" /v "Start" /t REG_DWORD /d "2" /f
reg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Memory Management\PrefetchParameters" /v "EnablePrefetcher" /t REG_DWORD /d "3" /f
reg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Memory Management\PrefetchParameters" /v "EnableSuperfetch" /t REG_DWORD /d "3" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt" /v "GroupPolicyDisallowCaches" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt" /v "AllowNewCachesByDefault" /f
::Enable-MMAgent -mc
echo Superfetch has enabled sucessfully! Please restart your PC.
pause
goto :EOF

https://discord.com/channels/818955213272121355/988891742411563088/1003037255977422889

相关内容