概述
我在网上找到了一款能把内存虚拟成硬盘缓存的软件,FancyCache。我想知道这个软件应该如何使用,FancyCache都有哪些功能,时候会对内存造成损坏?
不会对内存造成损坏的,这个软件也和其他的软件一样依托与Windows系统任务管理器来使用内存的,并不是什么特殊的软件,关于使用方法,单独说那个功能也不好,而且我也没怎么用过这个软件,下面是一份FancyCache 使用帮助文档。
==============================================================
FancyCache有两个版本:分区版和硬盘版。两者区别仅在于前者可对每个分区设置缓存,而后者对整个硬盘设置缓存。其他在使用设置上均相同,因此本节仅以分区版为例做介绍。
用户界面
FancyCache主用户界面分为四部分,如下所示,
区①: 分区/硬盘列表
区②: 选定分区/硬盘的缓存设置区
区③: 选定分区/硬盘的缓存状态区
区④: 全局内存控制和信息区
术语
缓存粒度: 一般该值越小,可以带来较高的性能,但同时也增大系统的额外开销,尤其当目标分区/硬盘的容量比较大时,较小的值将大大增加系统额外分配的内存值。程序自动会根据目标分区/硬盘的容量给出建议值,用户如果需要,可以在建议值的基础上调整1~2档。
缓存大小(一级缓存): 一级缓存由系统内存组成,因此该值表示从系统分配的内存大小用作选定分区/硬盘的一级缓存。
缓存算法: 当缓存数据满的时候,选择何种方式丢弃旧的缓存数据,以便有空间保存新的缓存数据。
LRU (Least Recently Used): 最近最少使用调度算法,首先丢弃最近最少被使用的数据。
LFU (Least Frequently Used): 最近最不常用调度算法,软件统计数据被使用的频率,使用频率最低的数据首先被丢弃。
缓存策略: 根据实际应用选择相应的缓存策略可以更有效的提高缓存命中率。
缓存读写: 对读取和写入操作均进行缓存。
仅缓存读: 仅对读取数据进行缓存,写入数据则不占用缓存。
仅缓存写: 仅对写入数据进行缓存,读取数据则不占用缓存。
延时写入: 当外部数据写入缓存时,通常也需要将这些数据写入至分区/硬盘。如果不勾选此选项,则每次收到写入请求时,同步的将数据写入到分区/硬盘,并等待分区/硬盘写入完成后才完成写入请求。这种方式和平时写硬盘的方式一致,不必担心突然断电造成部分缓存数据来不及写入硬盘,但是另一方面对写入性能也不会有提升。当勾选此选项,也即启用延时写入功能时,每次收到写入请求时,数据先写入缓存中,并完成该写入请求。同时缓存在后台根据算法和用户设置的延时时间,每隔一段时间将数据写入到分区/硬盘。这种方式可以合并在同一地址上的多次写入,并具有一定的数据排序功能,从而可以提升写入性能。但另一方面,用户需注意在突然断电或其它应用程序导致的蓝屏错误情况下,有部分数据可能还存在于缓存中未来得及写入,这会造成数据丢失。
写入后优先释放缓存: 当此项勾选时,则包含待写数据的缓存在完成数据写入至硬盘后,将优先被丢弃。
关机时丢弃缓写数据: 当此项勾选时,则在计算机关机时软件将丢弃尚未写入分区/硬盘仍在缓存中的数据。请注意此选项仅在特殊环境中使用,一般用户请勿勾选,否则可能会造成数据丢失。
均匀写入缓写数据: 默认情况下,当设置的延时时间到后,所有当前缓写的数据将被一次性地写入硬盘。当此项勾选时,缓写数据不是在延时到期后才开始写入,而是在整个延时期间内都会均匀化的写入硬盘。该选项主要防止突发大量写入造成用户响应迟滞的问题。通常用户不需开启这个选项。
防止HDD C1过快增大: 避免部分机械硬盘,尤其是笔记本硬盘,的C1指标异常快速增大。SSD的用户不需要勾选此项,以便获取最佳性能。
这里C1指"Load/Unload Cycle Count",即磁头伸出/缩进的次数。
二级缓存: 用户可以使用系统未识别内存或闪存盘/SSD固态硬盘作为二级缓存。如前所述,一级缓存有系统内存组成,其读写性能要高于二级缓存,当然二级缓存的读写性能仍要比普通硬盘好。缓存数据首先保存在一级缓存中,当一级缓存满的时候,数据将从一级缓存中转存到二级缓存中。注: 二级缓存可能发送大量的交换数据写入,因此对于SSD/闪存的寿命有较大影响。
MBU (Maximum Block Usage): 此替换算法以提供最大缓存能力为目标。当二级缓存满负载时,二级缓存中的数据会被淘汰替换以便容纳新数据。此算法容易引起一级缓存和二级缓存之间频繁的数据交换。
LBW (Least Block Written): 此算法以最少写入为目标。当二级缓存满负载时,不进行数据替换,即不再接受新数据写入。此算法主要用于SSD/闪存,以避免过多的写入。注: 虽然此时二级缓存不发生数据替换,但一级缓存仍进行数据替换。
操作帮助
如何启用系统未识别内存(32位桌面操作系统)
为使用系统未识别内存,用户首先需要启用系统未识别内存功能。勾选界面区④中选项 “Enable OS Invisible Memory” ,然后程序将会显示检测到的未识别内存信息(IM Free/Total)。
注:自版本 0.7.0,FancyCache 引入了新的模块管理未识别内存:未识别内存管理接口。
如何启动缓存功能
步骤1: 在区①,选择需要被缓存的分区/硬盘;
步骤2: 在区②,设置需要的缓存配置;
步骤3: 在区②,点击 “启动缓存” 按钮启动缓存功能。如果成功,程序会在区③显示缓存运行状态。
缓存开启后,无论用户退出应用程序或重新启动计算机,一直自动运行。因此用户无需在计算机重启后手动运行应用程序。
如果需停止缓存功能,点击 “停止缓存” 按钮。停止后,所有已缓存的数据将被清除。
如果需暂停缓存功能,点击 “暂停缓存” 按钮。此时,所有已缓存的数据仍保留。
如何手动将缓存数据更新到分区/硬盘
当启用延迟写入方式时,程序根据延时时间和其它算法自动将缓存中的数据更新到分区/硬盘。如果有需要,用户也可以进行手动更新。
步骤1: 在区①,选择目标分区/硬盘;
步骤2: 在区②,点击 “写入缓写数据” 按钮,程序将仍在缓存中的数据更新到分区/硬盘。
如何查看缓存状态和性能统计
步骤1: 在区①,选择要查看的分区/硬盘;
步骤2: 在区③,程序显示当前缓存运行状态;
步骤3: 在区③,点击 “性能监视” 按钮查看性能统计数据。请注意统计数据在性能监视对话框打开时开始统计,在对话框退出后统计数据将清零。
上图中,Read Hit Rate = Read Bytes (Cached) / Read Bytes (Total) * 100%,
其中,Read Bytes (Cached) 指从L1 Cache 和L2 Cache 读取的字节数,Read Bytes (Total) 指读取的字节总数,包括从Cache (L1 + L2) 和 Disk/Volume读取的字节数总和。这个指标反映了Cache的利用率。
最后
以上就是可爱电源为你收集整理的教你一招把内存虚拟成硬盘缓存的巧妙小方法的全部内容,希望文章能够帮你解决教你一招把内存虚拟成硬盘缓存的巧妙小方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复