PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

谈大容量内存的各种使用方案对磁盘效率影响

  [复制链接]
yuchengao828 发表于 2012-5-11 12:56 | 显示全部楼层
虽然笔记本有16G内存,但是还是用RAMDisk开了一小块空间,专门用来存Chrome的缓存文件,现在网页中视频和图片都很多,缓存文件经常比较大,想着把这部分东西移到内存中,对SSD爱护点

点评

你几乎摒弃了SSD的好处,SSD起什么作用,应该怎么用可能你没有想好。最需要SSD的地方是什么?  发表于 2012-5-11 13:10
jeffxl  楼主| 发表于 2012-5-11 13:04 | 显示全部楼层
本帖最后由 jeffxl 于 2012-5-11 13:06 编辑
yuchengao828 发表于 2012-5-11 12:56
虽然笔记本有16G内存,但是还是用RAMDisk开了一小块空间,专门用来存Chrome的缓存文件,现在网页中视频和图 ...


浏览器缓存是用来加速二次和多次开启页面的加载速率,如果丢在RAMDISK当中的话不一定有性能增益。而SSD有足够的IOPS提供二次本地加载速率,远大过你的网络出口速率,算减法可以得出缓存是效能增益的,而且增益不小。

如果把浏览器缓存放在RAM这样的介质上,你每次开启每个“新”页面都需要完整下载所有的页面元素,瓶颈将会是你的下行速率,而且你的网络下行速率几乎不可能大于SSD的IOPS能力。


你这样做的话,我怀疑在页面加载速率上,特别是大型门户首页元素多的网站,效能是降低的。


而关于寿命,如果仅谈浏览器缓存造成的颗粒磨损,到下个世纪也不会因为你把浏览器缓存丢RAM而损坏了SSD,浏览器缓存造成的写入在预期寿命当中应当可以忽略。
yuchengao828 发表于 2012-5-11 13:11 | 显示全部楼层
本帖最后由 yuchengao828 于 2012-5-11 13:13 编辑
jeffxl 发表于 2012-5-11 13:04
浏览器缓存是用来加速二次和多次开启页面的加载速率,如果丢在RAMDISK当中的话不一定有性能增益。而SSD有 ...


其实也是,同意你的观点,为了这点寿命而单开出一片缓存来的确有点多余,家里是10M光纤,完全体会不到重新加载的速度差别,但是在别处,比如坑爹的单位,网速很渣就打不开了 一会儿把RAMDISK卸载了可以,多谢指点

SSD对我来说最大的好处就是对于零碎文件的IO速度提升,在编译和加载源代码的时候感觉非常明显
jeffxl  楼主| 发表于 2012-5-11 13:15 | 显示全部楼层
yuchengao828 发表于 2012-5-11 13:11
其实也是,同意你的观点,为了这点寿命而单开出一片缓存来的确有点多余,家里是10M光纤,完全体会不到重 ...

10M远不够,新浪等门户首页,新加载一般都在1M-2M的下载量来完成首页所有元素载入,10M的网路需要1到2秒来加载。而如果缓存在本地SSD上,大部分内容元素是缓存内容(你平时经常开这些站),那么只需要一点点网络资源就可以秒开站点(毫秒级),当然和浏览器架构有关,谷歌浏览器显然可以做到,毕竟还有页面渲染速率的影响。
yuchengao828 发表于 2012-5-11 13:22 | 显示全部楼层
jeffxl 发表于 2012-5-11 13:15
10M远不够,新浪等门户首页,新加载一般都在1M-2M的下载量来完成首页所有元素载入,10M的网路需要1到2秒 ...

明白了,看来是我之前走弯路了,多谢赐教,看来以后用SSD和大内存,就没必要RAMDisk了
isword 发表于 2012-5-11 13:23 | 显示全部楼层
开了块2G的RAMDISK,P2P下载都放在RAMDISK上,下完了再移动到硬盘上。
jeffxl  楼主| 发表于 2012-5-11 13:29 | 显示全部楼层
本帖最后由 jeffxl 于 2012-5-11 13:30 编辑
isword 发表于 2012-5-11 13:23
开了块2G的RAMDISK,P2P下载都放在RAMDISK上,下完了再移动到硬盘上。


下载任务需要的最终写入量没什么大区别,实时随机写变成了一次性持续写入。而且RAM太小,不适合下载大型内容,还要折腾回硬盘上。

这是个见仁见智的问题,信则有,不信则无。我个人认为不要太计较P2P下载,而且当前的P2P下载软件自带读写缓存部分可以拦截大部分的P2P读(外网P2P请求)。

无非关心HDD的机械寻道造成的磁头摇臂电机磨损或SSD的写入量纠结。
isword 发表于 2012-5-11 17:54 | 显示全部楼层
jeffxl 发表于 2012-5-11 13:29
下载任务需要的最终写入量没什么大区别,实时随机写变成了一次性持续写入。而且RAM太小,不适合下载大型 ...

确实信则有,不信则无。我硬盘是RAID0,就安全起见信其有。另外我还把沙盘运行程序位置设在RAMDISK里。
royqiuyu 发表于 2012-5-11 22:28 | 显示全部楼层
LZ有没有搞个supercache这个软件,把内存分出一部分到每个盘充当缓存
jeffxl  楼主| 发表于 2012-5-11 23:08 | 显示全部楼层
royqiuyu 发表于 2012-5-11 22:28
LZ有没有搞个supercache这个软件,把内存分出一部分到每个盘充当缓存

为什么要这么做呢?

可能有些盘的资源并不需要缓存,都是一些“静态”数据,为什么要把RAM容量浪费在那些上面?
lanyer 发表于 2012-5-22 20:02 | 显示全部楼层
本帖最后由 lanyer 于 2012-5-22 20:03 编辑

就算特大内存的win7 ,第三方内存缓存依然是有存在的必要的。
比如: 虚拟个内存盘,专门放IE临时文件,或者是系统temp文件夹。这样使用体验会最大限度提升。
这种文件夹如果放硬盘里,产生碎片,缩减寿命不说,还会严重拖慢整体速度。并且还需要定期清理垃圾。否则就一步步蚕食宝贵的硬盘空间。
jeffxl  楼主| 发表于 2012-5-22 22:55 | 显示全部楼层
lanyer 发表于 2012-5-22 20:02
就算特大内存的win7 ,第三方内存缓存依然是有存在的必要的。
比如: 虚拟个内存盘,专门放IE临时文件,或者 ...


为什么微软没想到呢?你显然没注意我在此贴的多次回复。

你再想想IE缓存的作用吧。
lanyer 发表于 2012-5-23 01:30 | 显示全部楼层
jeffxl 发表于 2012-5-22 22:55
为什么微软没想到呢?你显然没注意我在此贴的多次回复。

你再想想IE缓存的作用吧。 ...

抱歉我想当然了。因为我一直用的是winxp 32bit

仔细把阁下的所有理论阐述以及耐心回复 浏览了一遍。确实受用良多。

我想说的是,继续停留在老旧游戏,或者是其他一些抱残守缺的原因仍然使用 winxp 32bit系统下的人,大内存开 ramdisk plus 还是很有必要的。因为你不开的话那部分内存也完全用不了。

xp 的内存管理没有那么先进。多余的内存虚拟起来放临时文件速度提升还是比较明显的。这是我的切身体会。

winxp 加 SSD 也不是不可以。买官方带手动trim工具的SSD 就好。自己精简一个系统,集成AHCI驱动, 注意下4K对齐,隔段时间闲得无聊做一下手动trim。

平时把工作和游戏都放SSD运行,配合内存盘搞临时空间,也算是  xp 下的极致体验了吧。
lanyer 发表于 2012-5-23 01:46 | 显示全部楼层
本帖最后由 lanyer 于 2012-5-23 02:08 编辑

补充一下:

因为玩了多年的xp,已经非常熟悉,熟悉到 nliteos中每一个精简都如数家珍并亲手验证。熟悉到 拿秒表卡时间验证每一个可能的开机优化。
xp对我来说如同手上摩挲把玩了多年的机械表,实在不忍心换掉。哪怕你告诉我电子表走得更准。
每次看到win7安装后近10个G的空间占用就倒足了胃口。恐怕要等到类似nliteos这样的精简软件出现 在win7上时我才会换吧。
其实仔细想来还有个比较完美的过渡方法。就是SSD分个区装win7. 然后用主板开机BBS pop菜单(有些开机按ESC 有些是 F12)来决定由哪块硬盘启动哪个系统。然后在各自的系统中屏蔽掉对方的系统文件盘符,真正做到互不干涉的共存。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
jeroen 发表于 2012-5-29 11:22 | 显示全部楼层
从第一页一直认真看过来。我的系统是8G内存,64G SSD,加仓库机械硬盘。64位win7. 开始把浏览器(opera和IE)缓存放在SSD上,感觉速度飞快。后来担心SSD坏掉,就挪到仓库盘,结果网页打开速度明显下降。现在用ramdisk来放缓存,感觉虽然还比不上SSD,但是明显超出机械硬盘效果。

这说明win7内存管理不如ramdisk效果好。我上网的时候几乎没有开其他程序的习惯。这时候win7也没有把浏览器缓存搞到内存中去。所以感觉楼主对win7内存管理的评价有点点高。呵呵。

前面帖子中楼主有个问题问的很好,就是既然怕把ssd用坏了。专门把缓存文件调整到其他盘上去,那么要SSD做什么呢?
对这个问题想了一下。的确如此,开机能快十几秒有什么用呢。过一段时间,还是把ramdisk去掉算了。SSD应该没有那么容易就用坏的。

点评

IE缓存是应付网页元素的冷加载和冷写入的,这个WINDOWS自身的系统缓存也是无力的。IE缓存和系统缓存是两个东西,不要混淆了,文章中没有谈IE缓存  发表于 2012-5-29 19:18
jeffxl  楼主| 发表于 2012-5-29 19:07 | 显示全部楼层
本帖最后由 jeffxl 于 2012-5-29 19:10 编辑
jeroen 发表于 2012-5-29 11:22
从第一页一直认真看过来。我的系统是8G内存,64G SSD,加仓库机械硬盘。64位win7. 开始把浏览器(opera和IE ...


IE缓存和操作系统应用缓存是两个概念,要分开谈。

IE缓存尽量放到IOPS能力高的设备(如SSD甚至U盘),而且不要是易失性存储(RAMDISK),WINDOWS的操作系统应用缓存也是RAM缓存不能加速IE网页二次冷加载的速率,因为是WINDOWS缓存也是怕易失性调用(对冷加载无力,对冷写入无力)。

WINDOWS操作系统缓存仅仅为了热数据命中率而存在,承担了软件本身的二次加载直接由RAM命中的可能。
99288697 发表于 2012-5-29 23:07 | 显示全部楼层
windows的缓存主要是为服务器环境开发的热缓存,频繁开机的用户预加载更有效果。IE缓存是先存储在内存然后写入硬盘的,IOPS高低没太大关系。Win2008R2,C是SataI 40G组的Raid 1.D 是SSD Raid0。 临时文件放哪个盘速度都差不多。

系统一点都不傻,IE下载回的碎片直接放入内存共IE渲染用,然后开始写入硬盘。缓存的数据服务器返回304省去了下载的时间所以这个越大越好。

IE刚下载的数据肯定属于热数据,经常上的网站会被预加载。  其它的才去读写硬盘。 缓存中重要的东西是图片和CSS。至于页面就几十K,而且大多数页面不允许缓存的。
jeffxl  楼主| 发表于 2012-5-29 23:19 | 显示全部楼层
本帖最后由 jeffxl 于 2012-5-29 23:29 编辑
99288697 发表于 2012-5-29 23:07
windows的缓存主要是为服务器环境开发的热缓存,频繁开机的用户预加载更有效果。IE缓存是先存储在内存然后 ...


IE缓存放在任何存储介质都是为了二次冷加载而准备的,往大了说节约了互联网带宽,对于用家来说如果IE缓存被命中那么直接从本地读取的速度比从WEB服务器上获取资源的延迟会小得多。

放在SSD上的IE缓存在二次冷加载的效率是明显高于HDD的,这个IOPS能力上的差距是肉眼都可见的差距。

我描述的二次冷加载:等于一次新开机的循环,不考虑超级预读的情况下,因为本地IE缓存是非易失性的,所以经常开的WEB页上的一些元素会被这次开机循环中哪怕是此次开机第一次访问此页面也被IE缓存命中,而直接从本地介质载入相关WEB元素。

另外说下,系统热数据缓存这个部分对家用的当次开机循环内的操作也是相当有利的,对家用来说也至少减少了90%以上的不必要的存储IO访问,没有这个部分的存在,现在的HDD无法承担哪怕是典型家用的IO负荷。
bjrinima 发表于 2012-5-31 00:11 | 显示全部楼层
我是win7 32位  装了4G内存 系统只识别3G多点 剩下的识别不出来 后来搞了一个RamDisk 把页面文件存在上面,打开部分挂起很久的游戏速度明显加快很多

点评

可用内存不足以随时提供给前台进程使用时,WINDOWS会把后台应用交换到页面文件。  发表于 2012-5-31 00:19
jeffxl  楼主| 发表于 2012-5-31 00:14 | 显示全部楼层
本帖最后由 jeffxl 于 2012-5-31 00:19 编辑
bjrinima 发表于 2012-5-31 00:11
我是win7 32位  装了4G内存 系统只识别3G多点 剩下的识别不出来 后来搞了一个RamDisk 把页面文件存在上面, ...


你这个叫做可用内存不足,出现页面交换。。。。你用RAMDISK软件利用了那部分容量做页面文件又正好代替了未识别的部分。。。。也就是说你的实际内存需求在3G-4G之间。如果更大的内存需求,你这么做会提示内存不足。

常理应该是换64BIT系统并加内存到合适的容量,而并不是使用这种第三方方法规避少这么不到1G的容量造成的页面交换的效能损失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部