如何将 SuperFetch 缓存放置在 SSD 上?

如何将 SuperFetch 缓存放置在 SSD 上?

我正在考虑将固态驱动器(SSD)添加到我现有的Windows 7安装中。

金士顿 30GB SSD

我知道我可以(也应该)搬走将页面文件传输到 SSD

页面文件应该放在 SSD 上吗?

是的。大多数页面文件操作都是小型随机读取或大型连续写入,这两种操作都是 SSD 可以很好地处理的操作类型。

通过查看数千条跟踪的遥测数据并关注页面文件的读写情况,我们发现

  • Pagefile.sys 的读取次数是 pagefile.sys 写入次数的 40 倍左右,
  • Pagefile.sys 读取大小通常非常小,其中 67% 小于或等于 4 KB,88% 小于 16 KB。
  • Pagefile.sys 写入相对较大,其中 62% 大于或等于 128 KB,45% 正好是 1 MB。

事实上,考虑到典型的页面文件参考模式以及 SSD 在这些模式上所具有的良好性能特征,很少有文件比页面文件更适合放置在 SSD 上。

我不知道的是,如果我放一个超级获取固态硬盘上的缓存(即ReadyBoost缓存)。

我希望 Windows 能够在相对较小(例如 30GB)的固态硬盘上缓存频繁访问的 GB 数据。这正是 SuperFetch+ReadyBoost(或 SuperFetch+ReadyDrive)的设计目的。

Windows 是否会提供(或允许)我将 ReadyBoost 缓存放置在通过 SATA 连接的固态闪存驱动器上?

存在一个问题准备好提振缓存還有軟閱讀缓存是准备好提振缓存在重新启动后不会保留。缓存使用每个会话密钥进行加密,使其现有内容在启动期间无法使用,并且超级获取登录期间预取。


更新一

我知道 Windows Vista 限制你只能一个 ReadyBoost.sfcache 文件(我不知道 Windows 7 是否消除了这个限制):

问:EMD 可以使用多台设备吗?答:不可以。我们已将 Vista 限制为每台机器一个 ReadyBoost

问:为什么只有一台设备?答:时间和质量。由于这是该功能的第一次修订,我们决定专注于使单个设备变得出众,而无需管理多个缓存。不过,我们喜欢这个想法,并且正在考虑将其用于未来的版本。

我还知道缓存文件 4GB 的限制是FAT 文件系统的限制在大多数 USB 记忆棒上使用 - SSD 驱动器将使用 NTFS 格式化:

问:我最多可以使用多少闪存用于 ReadyBoost?
答:您最多可以使用 4GB 闪存用于 ReadyBoost(经过压缩后,缓存容量为 8GB)

问:为什么我不能使用超过 4GB 的闪存?答:FAT32 文件系统将我们的 ReadyBoost.sfcache 文件限制为 4GB

可以准备好提振NTFS 卷上的缓存是否可以大于 4GB?

更新二

准备好提振缓存使用每次启动会话密钥进行加密。这意味着每次启动后都必须重建缓存,并且无法用于加快启动时间或缩短从登录到可用的延迟。

Windows ReadyDrive 技术利用了某些混合硬盘中内置的非易失性 (NV) 内存(即闪存)。此闪存缓存可用于帮助 Windows 更快地启动或从休眠状态恢复。

  • Windows 7 是否会使用内置 SSD 驱动器作为准备好提振/還有軟閱讀/超级获取缓存?
  • 是否可以让 Windows 存储超级获取不可移动 SSD 上的缓存(即 ReadyBoost)?
  • 是否有可能不是加密准备好提振缓存,如果是的话,Windows 7 会在启动时使用缓存吗?

也可以看看

答案1

禁用 ReadyBoost。将 SSD 设为主/启动驱动器,和/或确保您的页面文件位于其上。ReadyBoost 只是内容的辅助缓冲区 - 如果您的页面文件足够快,则无需使用 ReadyBoost。

即使您无法将 SSD 用作启动驱动器,您仍然可以告诉 Windows 将 SSD 用于您的页面文件。无论哪种方式,它都消除了对 ReadyBoost 的需求。

答案2

事实证明,您无法将 ReadyBoost 缓存放在 SSD 上。

首次格式化驱动器并为其分配驱动器号时,您可以选择放置准备好提振驱动器上的缓存。

但在随后的重新启动时,ReadyBoost 驱动程序在事件日志中报告:

该设备(未知未知)将不会用于 ReadyBoost 缓存,因为 ReadyBoost 驱动程序已连接到其卷堆栈。

完整日志条目:

Log Name:      Microsoft-Windows-ReadyBoost/Operational
Source:        Microsoft-Windows-ReadyBoost
Date:          3/2/2011 10:55:28 ᴩᴍ
Event ID:      1022
Task Category: ReadyBoost
Level:         Information
Keywords:      (16384)
User:          SYSTEM
Computer:      Harpax
Description:   The device (Unknown Unknown) will not be used for a ReadyBoost cache because the ReadyBoost driver is attached to its volume stack.

即使准备好提振对于运行在旋转磁盘上的计算机很有用,但 ReadyBoost 似乎仅限于连接到慢速 USB 端口的存储设备。

答案3

查看支持英特尔快速存储技术的主板。它允许使用 SSD 作为磁性/主轴硬盘的缓存。

答案4

> 在固态硬盘上放置 SuperFetch 缓存(即 ReadyBoost 缓存)。

https://technet.microsoft.com/en-us/magazine/ff356869.aspx

Windows 7 使用 Windows SuperFetch 算法来确定哪些文件应存储在缓存中。SuperFetch 监视用户访问的文件(包括系统文件、应用程序文件和文档),并将这些文件预加载到 ReadyBoost 缓存中。如果闪存设备是可移动的,则缓存中的所有文件都使用 128 位 AES 加密,但硬件制造商可以选择在内部不可移动的 ReadyBoost 设备上禁用加密。由于 ReadyBoost 缓存存储了文件的副本,因此可以随时移除闪存驱动器而不会影响计算机 - Windows 只会从磁盘读取原始文件。

> 缓存使用每个会话密钥加密,使其现有内容在启动期间无法使用,并且在登录期间无法进行 SuperFetch 预取

这里提到了禁用ReadyBoost 的压缩和加密

此外,还有以下参数启用压缩启用加密,但没有关于如何将其添加到注册表或 GroupPolicy 以使其生效的具体信息。不确定禁用加密是否会保留您的 SuperFetch。

相关内容