分享

Ramdisk5+Supercache—极速狂飚,4G以上内存的终极玩法

 森羅萬象 2012-06-13

1、ramdisk安装好后,如何判断系统无法识别的内存有没有被抓出来(第171楼给出了终极的判别方法)

2、虚拟内存也就是pagefile.sys设置在ramdisk分区后,到底有没有被利用上,如果利用上了,怎么判断其利用程度。

3、ramdisk分区设置成多大最合理(win7系统)?其上的pagefile.sys设置成多大最合理?

首先说明一下,本人以前从来不知道有zol这么个地方,也是菜鸟一只,甚至可以说是更菜的鸟,后来为买本本,不经意就逛到这里,成了常客,花了不少时间,学到了不少知识,虽然也还是处于菜鸟阶段!

以前本人从没有花费这么大的心思正儿八经在zol上写帖子,希望得到朋友们的支持与鼓励!

也算是为朋友们做些事情,作为长期以来享用诸位提供资源和信息的回报吧!希望本人所写的工作能够给朋友们带来便利!

本帖分为三个部分:

一、大内存高效利用的技术与思路

二、有关软件介绍

三、具体的实现方法

一、首先说说关于大内存的高效利用,主要有两种技术或者说是思路:

其一是:利用系统多余的内存建立磁盘分区,可以称为ramdisk技术。

这个磁盘分区在操作系统里和你的硬盘的各个分区在使用的时候没有差别,只不过它是建立在物理内存的基础之上的。呵呵,既然是建立在物理内存的基础之上,其读写速度基本上就是系统对内存的操作速度,非常恐怖!

在建立这样的磁盘分区之后,将操作系统的虚拟内存和临时文件夹从硬盘移动到这个分区里,可以极大改善系统的运行速度,降低硬盘的读写频率,减少硬盘的数据吞吐量,对硬盘能够起到有效的保护作用,从而降低硬盘的损耗,延长其使用寿命。这是优点,至于缺点嘛,本人目前暂时还没有发现。

其二是:利用大内存为硬盘的各个分区建立缓存,称作supercache(超级缓存)技术。

Supercache使用物理内存做硬盘的缓存,是将硬盘的数据缓存到物理内存中,以供系统读取,如果电脑在缓存中找不到数据,才会进一步到硬盘中寻找,籍此实现加速以提高系统运行效率。

这两种技术都可以用于XP系统,你可以使用一种,也可以两者都使用,至于win7,ramdisk技术本人在win7上用过了,很稳定。supercache技术本人还没有在win7中用过。有用过的朋友可以说说感受。

二、有关软件介绍

Ramdisk技术使用最多的是gavotte网友写的ramdisk这个软件。界面比较简陋,但目前是最稳定,最好用的ramdisk软件,gavotte网友据说是是国外业内的高手,另有传说其核心代码来自微软的ramdisk模块。至于另外一款ramdisk软件ramdisk plus,算了吧,稳定性和易用性我认为都不如gavotte的作品,还需要搞什么注册破解之类的,建议大家用gavotte的。

Supercache技术主要使用Supercache软件,同样非常经典,目前最新的版本是Supercache3.02。

这两个软件,zol论坛都有下载。

三、具体的实现方法:

1、 ramdisk技术的实现:

接下来,下载gavotte网友写的ramdisk软件,zol论坛就有,大家搜索一下就可以了,最好使用ramdisk5,这个是比较新的版本。

下载后直接解压,不需要安装,如图:

接着双击ram4g.reg文件,将注册表项导入。导入注册表项之后,系统的PAE(physical address extension)模式,也就是物理地址扩展模式打开,此时randisk5软件便可以识别系统无法使用的那部分内存了。我看到有些4G内存的朋友用了ramdisk5以后,700多M的多余内存并没有被抓出来,那是因为没有运行注册表项文件ram4g.reg,PAE模式没有打开的的原因。有的时候我把ramdisk分区删除,再重新建立的时候,就不能抓出多出700多M内存了,不过只要运行一下那个注册表项,重新打开PAE模式,就又可以将系统不能识别的700多M内存重新抓出来了!

如果PAE模式没有打开,系统是抓不出那多余的700多M内存的。

如何知道PAE模式是否打开呢?

打开注册表,

如果[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRRamdiskParameters]路径下的表项"UsePAE"=dword:00000001,那么就是打开了,如下图所示:

接着运行ramdisk5软件:

Disk Size:所建立的ramdisk分区大小,4G内存的朋友,建议选2G,6G内存的朋友当然是选3G了。

Driver Letter:所建立的ramdisk分区的盘符,这个就是个人喜好了,我选的是X盘符。

Media Type:默认是Fixed Media,不要选别的。

之后点Install Ramdisk,这就成了。

如图:

成功安装ramdisk分区之后,看看多余的700多M内存有没有被抓出来:对于拥有4G内存的XP系统,此时可供使用的物理内存是2G,打开任务管理器,看看物理内存可用数,一般XP系统使用时候物理内存占用不会超过1G,刚开机也就500M左右,自己加减一下就知道700多M的多余内存有没有被抓出来了。

接下来将IE的临时文件夹移动到ramdisk盘,好处大家用久了就知道了。打开IE,工具——》选项,具体操作如下图所示:

然后将系统的temp文件夹也移动到ramdisk分区:

我的电脑——》属性——》高级——》环境变量,将TMP和TEMP的变量名也就是路径设置到ramdisk的TEMP文件夹,一共有四个地方需要改动,用户变量2个,系统变量2个,点选编辑按钮就可以修改变量名也就是路径了。如下图所示:

这一点很重要,像迅雷这种软件,没有temp的话都不能运行,可想而知对于喜欢下载大型高清电影的朋友,把temp设置到ramdisk对于硬盘是一种多么好多么重要的的保护措施啊!

随后把虚拟内存也就是系统的页面文件pagefiles.sys设置到ramdisk分区。

具体操作如下:

我的电脑——》属性——》高级——》设置——》高级——》更改,先把系统在硬盘上的虚拟内存设置为0,然后再ramdisk分区上设置虚拟内存,对于XP系统,1G足够了,如果是win7,当然要设置得大一些。自定义大小之后,要点“设置”按钮,然后“确定”,重新启动系统。如图所示:

到这里,ramdisk技术就算是实现了。

如果是4G内存,对于XP系统,2G的物理内存+1G的虚拟内存(实际上是物理内存)也就是3G的内存仍然有点太大了,有浪费内存资源的嫌疑。

这时候可以利用supercache技术为硬盘的数据交换量比较大的分区分配一些超级缓存(supercache),以提高其运行效率。

2、supercache技术的实现:

http://ideapad.zol.com.cn/41/160_409312.html

在此链接下载最新的supercache3.02软件,用keygen生成的序列号安装。

安装之后首先为XP系统分区设置超级缓存。系统分区——》属性——》Preformance——》SuperCache——》Start

点击Start按钮之后:

Cache page Size:超级缓存分页文件大小,网上很多人推荐使用32k,说是太小了增加cpu开销。本人用的是软件默认的8k。

Cache size:超级缓存的大小,当然是越大越好,本人4G内存,到这里稍微有些捉襟见肘了,XP安装盘本人分配的是256M。

Sort algorithm:排序算法,这里有两种算法可以选,MRU和MFU,MRU是最近使用的文档优先放入超级缓存,MFU是使用频率最高的文档优先放入缓存

对于安装操作系统和应用软件的分区,无疑选MFU算法,其它的分区选MRU算法。

Read-ahead:这个要根据具体情况设置,默认是0,本人操作系统分区和应用程序分区设置的都是是5,其余分区设置的是0.

deferred-write mode:延迟写入模式,默认是关闭,本人所有分区一律遵从默认设置。

各项参数设置好之后,点选OK就生效了。

分配超级缓存一定要是你经常使用的分区才有必要分配超级缓存,并且各项参数的设置要根据不同的实际使用情况,至于平时很少使用到的分区,就没有必要分配超级缓存了,譬如你的SuperCache软件是安装在XP系统中的,那么安装win7的分区就没有必要分配超级缓存了,因为你使用XP系统的时候,对安装win7的分区基本没有读也没有写的操作。

本人各分区的SuperCache是这样设置的:

XP系统分区: 256M缓存,8K分页文件大小,MFU算法,预读5页,延迟写默认

应用程序分区: 128M缓存,8K分页文件大小,MFU算法,预读5页,延迟写默认

工作分区(文档为主) 128M缓存,8K分页文件大小,MRU算法,预读0页,延迟写默认

资源备份分区: 128M缓存,8K分页文件大小,MRU算法,预读0页,延迟写默认

平时数据吞吐量很少的分区,本人没有为其分配缓存。这样磁盘超级缓存共占用640M内存,XP系统还剩1386M的物理内存+1024G的物理内存物理内存缓存,足够用了。下图是系统打开大量应用程序之后的内存使用情况,还剩300多兆:

本人的XP系统,应用这两种技术之后,感觉到系统运行速度明显提高,非常轻快,其中SuperCache技术的使用使XP启动速度总计提高了41秒之多。

以下是XP系统安装分区supercache设置对XP启动速度的提高值:

128M缓存,32k分页大小,预读2页,延迟写默认,提高XP启动速度15秒以上;

256M缓存,8K分页大小, 预读3页,延迟写默认,提高XP启动速度26秒以上;

另ramdisk技术的应用也对XP启动速度提高了大概15秒左右!

目前我的XP系统启动速度,从最开始的1分28秒左右,提高到目前的47、48秒!

接新增内容(详见第14页):

由于64位系统暂时还难以普及,因而对于拥有大内存机器的朋友,ramdisk是个有效利用大内存的好方法。本回复将解决如下几个问题: 1、ramdisk安装好后,究竟有没有系统多余的内存抓出来 2、虚拟内存安装在ramdisk分区后,到底有没有被利用上,如果利用上了,怎么判断其利用程度。关于第一个问题,争论很多,对于ramdisk这一方法,我可以肯定的告诉大家,绝对可以将系统多余的内存抓出来。判定的方法就是分别将ramdisk分区设置成1G和2G,然后通过任务管理器中的资源监视器分析内存的使用状况,这一过程中尽量不要运行软件,当然需要重新启动系统。你会发现你的系统“正在使用“的内存大概会相差1G左右,这就说明当ramdisk抓取系统可以识别的3G内存的时候,被计入了系统内存开销。这时候你再看看将ramdisk分区设置成1G时候,系统“正在使用”的内存是多少,你会发现将近1G,显然这是系统的正常开销,这说明什么呢?说明ramdisk分区设置成1G的时候,把系统无法识别的多余的1G内存抓出来了。如果ramdisk抓的是3G的那部分内存,那么“正在使用”的内存绝对不止1G。大家可以仔细想想。第二个问题本人在下面接着份分析。

虚拟内存也就是pagefile.sys文件设置到ramdisk分区后,到底有没有被利用上,如果利用上了,怎么判断其利用程度。在搞清楚这个问题之前,首先需要知道任务管理器中内存使用的几个概念(win7): 1、为硬件保留的内存:供BIOS和外设等使用的内存。这里有两层意思,一是为bios和外设提供物理内存,二是为这些应用保留地址段。32位系统最多提供4096M个地址,肯定不能全部给内存,需要保留一部分地址给其它应用。 2、正在使用:操作系统运行过程中正常的内存开销,软件、驱动程序、操作系统自身的使用的内存 3、已修改:这部分内存中的数据必须要写入硬盘才能够释放或作别的用途 4、备用:系统可以自由使用的内存,这部分内存就像缓存,里面有win7预读的很多数据。 5、可用:完全空闲的内存 6、缓存:备用内存加pagefile.sys中写入的数据 7、总数:系统可以识别内存 8、已安装:物理内存总量 pagefile.sys文件设置到ramdisk分区之后,有没有被利用上呢?从“备用”和“缓存”这两项数据就可以知道了。 win7的预读机制很先进,认为内存闲置就是浪费,因此采用预读的方式将数据读入空闲的内存以备系统随时取用,这部分就是备用内存,如果备用内存中没有系统所需要的数据或者程序,那么系统就将备用内存释放出一部分,然后再从磁盘读入所需要的数据。可见,备用内存和pagefile.sys就是同一回事,这也说明win7再使用缓存的时候优先使用物理内存。物理内存不够用了才使用pagefile.sys。看到这里,大家应该很清楚了吧,对于win7操作系统,“备用”和“缓存”两项的差值,就是系统写入pagefile.sys的数据量,也是其利用效率的反映。使用ramdisk一段时间以后,本人发现pagefile.sys中写入的数据一般情况下充其量也就几十兆,只有“备用”内存即将耗尽时,然后系统才开始大量使用pagefile.sys.否则pagefile.sys的使用量是极其小的。因此,对于win7系统,本人根据使用经验,推荐大家ramdisk分区设置成1G,pagefile.sys设置成300M足矣。temp啊internet临时文件统统设置到ramdisk分区。至于XP操作系统,本人现在已经不使用了,大家可以参考。

ramdisk分区设置成多大最合理?其上的pagefile.sys设置成多大最合理? ramdisk分区:1G。XP系统如果使用supercache技术,可以设置成2G。当然,对于win7,supercache技术没有意义 pagefile.sys:300M,因为win7将空闲的内存拿来做pagefile了,设置大了也没有意义。如果是XP系统,由于其空闲内存是真正空闲的,并没有拿来作缓存,所以要按照正常的pagefile.sys页面文件大小来设置。

接1、ramdisk安装好后,如何判断系统无法识别的内存有没有被抓出来(第171楼给出了终极的判别方法)

关于判断ramdisk是否抓出系统多余内存的进一步分析!

ramdisk是否抓出了系统多余闲置的内存?怎么判断?

前面虽然有一些分析,但还不是很明确,也不直接。

这里给出一个很简单的方法,如图:根据红圈部分“正在使用”的内存就可以判定系统多余的内存是否被抓出来了!

因为如果ramdisk占用了系统可以识别的内存,操作系统就会认为已经开销,反映到资源监视器中就会记入“正在使用”的内存。

下图中我抓取了2G内存,“正在使用”的内存刚好比抓取前多出1G(我总内存4G,差不多多出1G内存)。

就这么简单!!!

注意:使用ramdisk抓取内存前需要将“ram4g.reg”的内容导入注册表,否则你抓出的将会全部是系统可以识别的那部分内存,这一点也可以

很明显通过“正在使用”的内存量的前后变化识别出来!

接上面的2、supercache技术的实现http://ideapad.zol.com.cn/41/160_409312.htmlsg7200.4硬盘初体验及恐怖的supercache测试,最新带kengen

长话短说

实在不满意日立5400转50M/s不到的读取速度,于是在淘宝店购买了一块希捷7200.4的320G硬盘。

由于前一阵子咱还失误买了一个320G的移动硬盘,不然可以买个500G的,因为从评测来看,500G速度比320G还要快。现在后悔自然也是来不及了。

首先说说温度好噪声,这是大家都非常关注的,从我的使用情况来看,

希捷7200.4只有轻微的写盘声音,和日立差不多吧,可以说是块比较安静的盘。

至于发热,本人的机器连续运行70多个小时了,当然,中间重启了几次,硬盘最高温度41度,一般为38,39度,这可是几个不同的检测软件(鲁大师、everest、HD-tune3.5)得到的结果哦,室温大概20度的样子,和笔记本原配的日立盘温度差不多,作为7200转的硬盘,还是比较理想的。

大家先来看看硬盘的整体性能情况吧(XP SP3操作系统,由于是试验性质的使用,本人没有在win7中使用此软件指的是supercache软件,本人会根据在XP中的使用情况决定是否在win7中使用,目前ramdisk5在win7中本人抓取了2G的物理内存作为虚拟内存和系统临时文件,当然,这2G里面包含系统不能识别的那700多兆,目前,ramdisk5软件在win7中使用状况良好,可以明显提高系统速度,减少读写磁盘频率,尤其是充分利用了系统不能识别的700多兆内存,推荐内存大于3G的同志们都去使用!)

这是HD tune 3.5软件的测试结果,最低读取速度比日立的平均读取速度还要高,虽然突发传输速率比较低,平均读取速率75.1,虽然没有像媒体上说的84M/s的高值,但如此也很可观了,直接带来的感受就是性能较5400转硬盘使用起来速度要快那么一点,XP启动快了将近20秒钟,win7也快了10多秒。

即便如此,本人仍然没有感到满足,

在用ramdisk5将4G物理内存中的2G划分出来作为虚拟内存和系统temp、tmp临时文件后,

本人还为几个数据交换量比较大的磁盘分区配置了supercache(使用supercache3.02版软件),下面是硬盘各分区的读写数据,

虽然并不等于真实的读写速度,但无疑对提高系统性能尤其是减少磁盘的读写频率提高读写效率和速度起了作用:

本人的磁盘320G,共分为:

C: 分配256M物理内存作为磁盘缓存

D:vista系统,该分区实际上相当于下岗了,因为本人只用XP和win7,XP用来游戏娱乐,win7干正事,因此该分区没有配置磁盘超级缓存。

E:win7系统,由于使用的是XP系统,该分区暂时享受不到超级缓存,待XP运行的好了,本人将考虑在win7系统中为各分区也分配缓存。

F:program files分区,不用说,安装所有的应用软件,分配512M磁盘缓存。

G:工作分区,分配128M缓存。

H:各种资源区,包括各种软件工具电影等,分配128M缓存。

I:暂时无用武之地,没有分配缓存。

从各分区的数据读写直方图所反映的情况来看,只要是分配了缓存的,读写速率都超级大,简直看得人血脉贲张,有的数据都不知道1500还是2500了,因为不管是1500还是2500,软件似乎都只能看到是500。

至于实际的感受就是,系统速度又进一步明显提高,尤其是启动速度,进一步提升了将近15秒,现在我的XP系统根据safe360的报告,只需要57秒56秒的样子就可以完成启动了,最开始的时候差不多要1分半钟(安装的软件比较多)。

ramdisk5+supercache3.02,

物理内存做虚拟内存+物理内存做系统临时文件夹+主要分区的超级缓存,

系统用起来就像刚刚装好驱动还没有安装任何软件那样,非常轻快!

ramdisk5有人已经在论坛发布了,

本人把supercache3.02奉献给大家吧!

解压后有注册机,分为两个版本,桌面版和服务版,我安装的是桌面版,大家可以安装一下服务版,

然后来交流一下,看看哪个版本更好用,我觉得可能都差不多。

SuperCacheIII-3.0.2.part1.rar(大小2098k)SuperCacheIII-3.0.2.part2.rar(大小2098k)SuperCacheIII-3.0.2.part3.rar(大小1030k)

软件设置解释:

cache page size: (缓存页大小)默认:32K,大的值会增加碎片,小的值增加开销。

详解:这个就相当于格式化磁盘时设置分配单元大小那样。如果设为较小的值,那同样的缓存尺寸就有较多的缓存页,每页的平均浪费率也就较小,然而小的页值也产生大的内存开销,更消耗CPU资源。大值就反之。

推荐:64K P4处理器:64K 至强处理器:32K

Cache size:(缓存大小)默认:128M,指定分配给cache的物理内存大小,必须是4MB的整数倍。

详解:在没启用cache时,记下正常使用服务器中可用内存的最小值,所有盘的cache size总数不要超过可用内存最小值的90%。不过也要注意当cache size很大,而cache page size太小时,你的CPU是否顶得住。

推荐:如果内存<=1G的话,就没必要用了.用了反而会有反作用

如果内存>=2G的话,读写分离,读盘:500M,写盘:500M~800M

如果内存3~4G的话,读写分离,读盘:700M~800M,写盘:1024M~1500M

Sort algorithm:(排序算法)默认:MRU,指定cache排序算法,MRU即最近使用。MFU即最常使用。

详解:MRU算法,缓存中只保留最近使用过的数据,当缓存满后丢弃过时的数据。这个算法简单,耗CPU资源少。

MFU算法,缓存中只保留最常用的数据,当缓存满后丢弃最少用到的数据。这个算法比较耗CPU资源,当cahce size值大,cache page size值小时,就要考滤你的CPU是否顶得住了。

推荐:MRU用于写盘

MFU用于读盘

电影服务器推荐用MRU。

Read-ahead:(预先读取)默认:0,指定预先读取的页数。

详解,即当系统要读某扇区的数据时,cache预先读取后续扇区的数据,这里是指定预读数据量的单位是cache page数量。当读取连续扇区时预读取能极大提高读性能,但连续性不高时,反而白白耗了磁盘资源。

推荐:1,无盘服务器的写盘和客户系统盘和游戏盘的效果不是很大,设太大了可能得不偿失。电影服务器可以设大点。

Deferred- write mode:(延迟写入模式)默认:关闭,指定缓存页的平均写延时。写入延时以秒为单位,这只是个平均值,有些缓存页可能很快就写到磁盘了,而有些缓存页可能比指定的时间还要迟。(注:缓存页是指只写到缓存还没写到硬盘的那些 cache page。)Supend lazywriting:(挂起写延时,相当于缓存页的平均写延时是无穷大的。)这时数据只会写入到缓存而不会写到磁盘里,当这些页达到了丢弃的时候(由排序算法定),会被重新激活。当整个cache(大小由cache size定)都被缓存页占满时,会被强制写到磁盘里。

推荐:写盘可以启用。读盘还是关闭的好。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多