PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

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

  [复制链接]
141#
bjrinima 发表于 2012-5-31 00:19 | 只看该作者
没想到版主这么晚还在~ 我是小白 但是感觉很多的文件都会用到页面文件的 即使是SSD 或者有更大的内存也会用到页面文件吧,设置一个RamDisk来放页面文件,在页面交换的过程里 是不是比较好点呢?
142#
jeffxl  楼主| 发表于 2012-5-31 00:21 | 只看该作者
bjrinima 发表于 2012-5-31 00:19
没想到版主这么晚还在~ 我是小白 但是感觉很多的文件都会用到页面文件的 即使是SSD 或者有更大的内存也会 ...

在可用内存足够的情况下,WINDOWS不会主动使用页面文件,除非是特殊应用请求。
143#
bjrinima 发表于 2012-5-31 00:30 | 只看该作者
那版主 像我这种小内存用户 使用RamDisk 来做一个页面文件 在不升级内存的情况下 是不是一个比较好的解决方案呢?
144#
99288697 发表于 2012-5-31 11:22 | 只看该作者
jeffxl 发表于 2012-5-29 23:19
IE缓存放在任何存储介质都是为了二次冷加载而准备的,往大了说节约了互联网带宽,对于用家来说如果IE缓存 ...

嗯,所以小的ramdisk不如大的HDD好用,页面加载并渲染是个过程。HDD的性能不一定差多少。够大感觉更好,我是32G内存从来不关机。多半也有这方面的原因吧。

具体的不懂,反正Cache原理就是空间换时间,然后就是命中率的问题了。
145#
rhd 发表于 2012-6-1 01:20 | 只看该作者
jeffxl 发表于 2012-4-26 04:37
你没事突发的去玩下大量数据的复制粘贴啦,跑高IO压力的应用,例如一些高IO变态游戏,那么动态缓存会迅速利 ...

认真学习了这个主题帖,读后确实很有益处~!一页一页浏览到100楼左右,看到版主和网友深刻的讨论,突然就想进来插一句了,呵呵呵,新人报道,多多指教~~!

其实jeffxl版主还有yanleiberg网友所持观点大同小异,都是对缓存、缓冲有自己的理解,另外也都是可以说是正确的理解;而二位辩论的地方我觉得简单来说是有两个细节地方。。。

论坛新人斗胆出来冒个泡。。。轻喷。。。

首先,微软视窗系统的普适性内存管理的考虑固然是有其道理的,至少微软目前选取并且使用了这种内存管理策略。另外从视窗系统用户使用效果来看,这种内存管理还是有一定效果的(相比于此前的其他视窗系统)。但是对另一边的使用者来说,每个使用者都是不同的个体,多多少少每个人的使用习惯,日常应用软件都是不尽相同的,而这就产生了如下的矛盾点:

某一部分用户想人为的让某个程序启动更快速,比如office(即使平时该用户office使用频率不是非常大,但还是希望能够在启动完系统后系统就立马预加载这相关文件数据信息,从而达到随时启动office都可以秒内开启文档编辑的效果 —.—),而对于另一些软件或者程序操作的话又并不需要追求在当前机器硬件条件下的极致加载启动速度,而这些项目平时启动的频率又较高,或者说较一些人为想快速启动的软件使用的频率高,那么在视窗系统目前的内存机制下面,是否就是会更倾向于预加载使用频率高的数据,而这些数据并不全是使用者希望预加载的,或者就是说使用者希望预加载的数据在视窗系统目前的内存机制下没有得到预加载或者说这些数据没有能够得到长时间的驻留。

比如说office,就以我自己的情况来说事,在启动word之后开启其他的word文档时是直接跳出了完整的文本编辑的窗口,而当我把任务栏上所有word窗口都关闭后(相应的我们可以看到,在任务管理器的“进程”标签里 WINWORD.EXE 这个进程也相应的终止了),再次点开某一个word文档(可以是任意一个word文档,不一定要是之前打开过的那两个文档),发现会弹出一开始的小窗口就是显示"正在启动"word。。。,大概一秒之后才打开最后的文本编辑界面。首先自爆家门,我是新手小白,也许这个事例的原因不是与缓存相关,正因为新人不是很了解,所以就大胆的提出来想交流一下的说。。。我个人目前觉得这个是因为在关闭word之后office word的相关数据信息被从内存里“清掉”了,就是说只是在缓存里驻留了一部分相关文件数据,而没有驻留所有需要用到的word相关数据信息,才会导致关闭所有word窗口后再次打开word文档会有1秒钟的延迟或者说是1秒钟的准备时间。而此时被清理出来的内存空间做了什么呢?或者是基于视窗系统对可能发生的一些突发事件的考虑,留出了“空闲”容量,或者是当前系统IO吃紧,在关闭word文档的同时,内存用来缓存读取更重要的文件数据了,反正总之就是系统把word的一部分相关文件清出了内存了。。。(额。。。激动了,激动了。。。语气略显鸡动了。。。)如若此处说法有错误,还请版主及网友们指正~!

最后说一下对于jeffxl版主和yanleiberg网友辩论的看法:
个人粗浅的认为,针对目前视窗系统使用的内存管理机制,yanleiberg网友有两个地方觉得用户自己用起来不是很顺手,不是能完美的解决用户的需求。1、系统查看16GB容量内存基本上都有8G左右的空间是“空闲”空间,而用户希望是用上16GB内存后系统能够尽可能多的后台读取一些数据,尽可能的缓存更多的数据,然后相对的来说就可以更大范围的做到快速启发的效果;2、在做bt、pt、迅雷等软件的下载任务是,例如uTorrent,下载了才几十MB,就从缓存空间里写入硬盘了,可能UT设置的缓存是1G,或者2G什么的(UT应该是读取写入缓存算一起的吧,就是总共缓存空间是1GB或者2GB),可是只见缓存空着,读取缓存也没有压满,但是写入缓存里才缓存了几十 MB 的数据就做了写入硬盘的操作了。

对于上面第一点,看了两位此前的辩论,个人觉得就是说可能是因为微软视窗系统的内存管理机制所致,或者是想预留足够的内存空间给突发事件作处理,或者真是根本就没有到达预读缓存的那个“阀值”,内存就不做另外的预读取工作或者长时间驻留数据工作了,因为说到底,内存缓存读取的也是硬盘的数据,也是在硬盘上读数据操作,如果说一味做着不记开销地预读取操作(不管读取的数据有没有用,或者有没有必要这样大的密度读取数据、有没有必要这样高的频率读取数据),那无疑是给磁盘不间停的大负荷,一定程度上牺牲了磁盘的寿命,或许微软程序员测试后找到了这个“阀值”,低于这个阀值也触发内存满速预读取数据的话就有一点点的得不偿失吧。。。另一方面关于已经是用过的“热”数据驻留内存空间的问题,可能一些网友会说为什么不是我用多少就装多少,用完了先不丢,等再用其他的再把先前的推出去呢?这里暂且不讨论先“丢”好,还是后“推”好,举个极端的例子就是说某天把windows7SP1 ISO文件(x86 2.46G x64 3.18G)从D盘拷贝一份到C盘,这时就是如版版所说的内存“空闲”空间会最大程度的被利用起来(当然啦,只是做了预处理工作,就是“可用”空间是没怎么变动的,变动的只是“已缓存”空间容量),直到这个拷贝任务完成才会再次释放内存缓存空间,而这个ISO的缓存文件是没多大的必要驻留在缓存里的,除非就是想一下子拷贝个好几份的。。。在这种情况下,与其 后“推”,就不如在拷贝任务完成后就 先“丢”来的有效率了。

对于上面第二点,还是基于两位前面的辩论,从两位的回复中学到了很多,也对一些规范、概念更加了解了一点,这里插个楼先感谢两位~~!呵呵,对于第二点,或许就确实是微软视窗系统对于数据安全的考虑,所以写入缓存默认就没有太大。。。



总的来说,归根结底,jeffxl版主在之前回复中也说过,直接套用一下版版的话,就是微软兴许是为了普适性、安全性,而没有给用户过多的内存自定义明细设置,但是对于广大爱动手的网友们来说,恰恰相反,我们需要的可能正是DIY,追求的正是针对自己需求的最佳配置、最佳设置。


以上。。。
如有冒犯,还请网友见谅~~!
146#
hongxu1600 发表于 2012-6-1 21:44 | 只看该作者
非常好的分析
147#
quietist 发表于 2012-6-1 22:04 | 只看该作者
rhd 发表于 2012-6-1 01:20
认真学习了这个主题帖,读后确实很有益处~!一页一页浏览到100楼左右,看到版主和网友深刻的讨论,突然就 ...

  其实我也提到过类似的问题。

  对于个体用户,重要的应用不见得是热应用,比如某人excel每周只用一两次,甚至更少,但每次如果要应用,都是很急的。这种情况其实未必少,就像我们日常工作和休闲娱乐,应用频率和重要性不见得是线性关系。

  微软的内存缓冲管理,是个平衡折中的方案。

  比如我用acronis的系统清理工具,它提供一个逐项关闭prefetch的功能,这个思路对于操作系统而言其实也可以反过来用,是否可以象“启动”选项组一样,提供一个预读选项组呢,毕竟不常用的应用不需要每天每次开机都前台启动,但后台调入预读有可能是可以考虑的。

  现在微软是提供开机快速启动设置选项、但不提供预读缓存设置选项,这导致用户不能干预后者,也导致各家SSD都要求关闭prefetch(因为普适需求导致效率低下,在SSD读取速度面前缺乏优势),如果把“货架”功能改为个性定制功能,也许行得通,这样一般情况下也就不需要第三方内存管理了,而且在SSD环境下也可以有应用提升。

  非专业特种的功能,能做的话,当然一般想来还是微软自己做比第三方做方便一些。
  
  
148#
tommyfc 发表于 2012-6-12 00:03 | 只看该作者
学习了,看来没必要用第三方软件
149#
Chuanssd 发表于 2012-6-15 12:27 | 只看该作者
学习了。赞一个
150#
tonywgg 发表于 2012-6-16 16:05 | 只看该作者
SSD+8G,就没啥必要折腾了,默认!!
151#
worlack 发表于 2012-6-25 14:58 | 只看该作者
用过一段时间的ramdisk··这个内存虚拟硬盘放临时文件缓存什么的,开关机有需要写到硬盘吧,虽然没有很频繁的写入但是还是需要写入的,还有就是HDD做移动硬盘,是不是也会在系统盘上有一道工序。
我觉得SSD要想体验到它的速度,就需要我们把使用最多的程序和数据读写用在SSD上面,不然体验到的仅仅是开关机速度么·
152#
applyjie 发表于 2012-7-2 21:18 | 只看该作者
那大于4G内存使用WIN7 32位和64位速度上有区别吗?
153#
R_Jacklee 发表于 2012-7-3 02:30 | 只看该作者
学到了学到了哈~回头再回来复习~
154#
xiaoze1388 发表于 2012-7-30 11:39 | 只看该作者
看这版主的这篇文章感觉收益匪浅 有一句没太懂“有的用户觉得SSD对IO体验的提升不太明显的最大因素,因为操作系统自身的缓存机制已经充当了最大的IO压力缓冲区。相反小容量内存用户升级SSD反而会得到体验上很大的不同”
为什么“反小容量内存用户升级SSD反而会得到体验上很大的不同”呢
我的笔记本是128ssd 8GB内存。 ssd是不带有缓存的。
Superfetch在是有ssd的情况下默认应该是关闭的吧  那按我现在的配置 有没有必要开启呢
希望版主大人嫩能稍稍给予指点 感激不尽
155#
TMG 发表于 2012-7-30 13:20 | 只看该作者
xiaoze1388 发表于 2012-7-30 11:39
看这版主的这篇文章感觉收益匪浅 有一句没太懂“有的用户觉得SSD对IO体验的提升不太明显的最大因素,因为操 ...

因为内存容量小…… 可预读的数据也不多…… 所以系统可能会频繁的使用在HDD上的页面文件……

升级到SSD之后…… 因4K的IO能力强了很多…… 所以用户可能会有明显的体验改善……
156#
Jinbo 发表于 2012-8-16 04:32 | 只看该作者
很好,支持一下。
157#
仙乃日 发表于 2012-8-21 18:43 | 只看该作者
使用Win7_32bit系统、16G内存、SSD64G。使用Primo Ramdisk 来将系统无法识别的13052MB的那部份来当内存盘。并且将临时文件、IE缓存、酷狗、PPS等等产生的缓存文件都放在内存盘上。将页面文件(16M-4987M)也放在内存盘上。自己经常跑虚拟机,如果分配2.5G给虚拟机用的话,再打开几个网页的话,也不会卡。Primo Ramdisk 也支持支持动态内存管理,可以根据需要动态地分配或释放内存。如果直接将页面文件放在SSD中,运行虚拟机再同时开几个网页的话,感觉有点卡的。
158#
helixzz 发表于 2012-8-27 07:55 | 只看该作者
我的本本现在的配置是16GB内存,500GB 7200rpm主硬盘,C盘100GB,存放系统和除游戏外所有的软件;另外400GB分别有用作下载暂存、“我的文档”和一些经常读写的工作数据(比如Visual Studio的项目文件夹);第二硬盘是750GB 5400rpm放在光驱位,之所以没有把下载区放在第二硬盘是考虑到第二硬盘空闲时间长的时候笔记本可以通过电源管理关闭它来节能;这块硬盘主要就是当做仓库了,里面有各种大型软件的安装镜像、电影,音乐,游戏。游戏放在这里是因为我的各种游戏有150+GB而且自己很少玩,不太在意游戏载入速度的问题,放在高速盘上太占空间。毕竟自己最主要用到的,还是浏览网页、写程序、偶尔做些文档、音视频编辑。
现在计划入256GB PM830或者256M5S(这两者到底选哪个我还在纠结,笔记本是二代i7+HM65的),打算分100GB做系统盘(现在的系统盘大概使用了60%的空间),另外110GB左右的空间用来存放经常使用的数据,仓库盘的用处基本不变。我希望能获得最大的效能提升,又尽量让机械硬盘在不使用时能停止下来减低噪音和发热,并且避免对SSD的太快磨损。
至于缓存,以前体验过RAMDisk,也用过FancyCache,但还是发现不用第三方工具管理比较好。现在是Windows 7 Ultimate x64,SuperFetch默认开启,页面文件设置在主硬盘系统分区,固定2048MB大小。

请问LZ这样的方案是否合理呢?关于升级SSD以及之后需要做些什么样的调整,有什么建议吗?
159#
helixzz 发表于 2012-8-27 10:23 | 只看该作者
仙乃日 发表于 2012-8-21 18:43
使用Win7_32bit系统、16G内存、SSD64G。使用Primo Ramdisk 来将系统无法识别的13052MB的那部份来当内存盘。 ...

直接用Win7 x64,包你满意。
160#
jmgygy 发表于 2012-8-28 09:06 | 只看该作者
技术贴要顶,顺便请教一个技术问题:


我现用winxp32bit,12G内存,用ramdisk plus 识别了未被系统利用的8G内存,请问,
(1)如果用ramdisk 划分 内存盘,每个盘的最大容量有什么限制没?是否可以划分一个容量为8G的 虚拟盘?还是划分为两个4G的虚拟盘好?
(2)另外,虚拟盘的文件格式是用FAT还是用NTFS?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部