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

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

  [复制链接]
1#
变心金刚2 发表于 2012-10-6 09:58 | 显示全部楼层
说到IO压力,硬盘灯闪烁频繁程度和持续时间是硬道理吧?Win7比会XP少吗?
2#
变心金刚2 发表于 2012-10-7 11:14 | 显示全部楼层
本帖最后由 变心金刚2 于 2012-10-7 11:16 编辑
jeffxl 发表于 2012-10-6 20:01
从操作系统本身来说,相对于XP的后台背景读写,肯定WIN7要多很多,需要实时读写的进程也多不少。

NT6的 ...


额,目前的硬盘价格和耐用性的口碑……既然你都说Win7的IO要比XP大不少那我想这应该是确实的了。系统本身的组件越少对硬盘的IO操作也就相应越少,问题是你微软增加的这些组件是不是都有用?对很多人而言都已经有了第三方软件的解决方案,你有没有我都会装上我已经习用的软件了,所以又增加了IO操作。
IO总量哪怕一定不变,但是缓存后均匀读取写入和频繁地读,东一榔头西一棒子地写入对硬盘也不一样,缓存软件的作用之一就是延迟均匀写入,虽然我哪怕用缓存软件也是不开延迟写入的,为了安全。当然缓存软件自己也得读写硬盘,总体是赚了还是差不多这就没法计算了。
3#
变心金刚2 发表于 2012-10-7 17:59 | 显示全部楼层
jeffxl 发表于 2012-10-7 16:06
您的理解是是错误的,之前我故意把IO分为系统背景IO和用户行为造成的IO不记得吗?

系统IO是比XP多没错, ...

你认为比如说边QQ边上网听歌浏览网页下载迅雷BT,这时候XP的硬盘灯闪烁时间比Win7要长吗?这符合实际情况吗?
你认为静态时Win7那些维持系统运转的读写是不会因为这些任务而增多,依然保持不变的?这可能吗?
4#
变心金刚2 发表于 2012-10-7 21:30 | 显示全部楼层
jeffxl 发表于 2012-10-7 21:15
您说的这些东西都没什么全局缓存效益,bt缓存由软件自身定向缓存来降低io。而且这些应全局二次命中不高但 ...

呃~大家干得最多的事显不出好来,那有什么用呢?
5#
变心金刚2 发表于 2012-10-7 22:48 | 显示全部楼层
jeffxl 发表于 2012-10-7 21:48
您说的这些类型IO,谁也做不到缓存优化。因为您说的都是最不利性缓存原则下的“经典”IO类型。而且这类IO ...

这些不是我个人凭空想象出来的常用应用,确实是大多数人每次开机后做的最多的事,不能在这些应用上显出Win7所谓更好的缓存机制的实际效果,那不等于说Win7是个光吃内存不干活儿的低效系统吗?有什么区别呢?我还可以说XP的缓存机制更好,因为同样的效果却用不着那么多内存,对不对?在被普遍应用的项目中不能有所建树那为什么不节约呢?
6#
变心金刚2 发表于 2012-10-7 23:28 | 显示全部楼层
jeffxl 发表于 2012-10-7 23:09
缓存并不用来无差别减少IO读写。
缓存设计目标至少为:
1、无关痛痒可以不缓存

我是一直在问家用的IO压力高的,缓存效益高的究竟具体是什么应用呢?
硬盘灯显示着硬盘的操作频繁程度,很直观也很实在,而XP的硬盘灯不怎么闪的同时操作应用依然是很快的,当年从256MB内存主流过来的都清楚当内存加大充足时XP既快速硬盘灯又不爱闪。常用的软件并不能让Win7相较XP更节省IO,静态时更不能,那Win7的缓存机制就剩下可能的速度优势了是吗?那么能说Win7在运行常用程序时速度比XP快吗?有屏幕录像或者屏摄可看吗?
7#
变心金刚2 发表于 2012-10-8 00:14 | 显示全部楼层
jeffxl 发表于 2012-10-7 23:35
实体举例1:
您说的QQ运行时产生的即时IO、在线播放音乐产生的流媒体IO、BT下载产生的IO,这些在理论上无法 ...

游戏本身可以为XP缓存材质
8#
变心金刚2 发表于 2012-10-8 00:27 | 显示全部楼层
jeffxl 发表于 2012-10-8 00:21
没懂您的意思。

在内存剩余容量都为一定的情况下,XP在经过长时间IO读写以后,被驻留在IO缓存里的内容经 ...


游戏本身已设计可为XP量体裁衣,视其内存大小将可以缩短等待时间的材质等缓存入空闲内存中,而且游戏本身才最了解该缓存哪些更有效率
9#
变心金刚2 发表于 2012-10-8 02:57 | 显示全部楼层
本帖最后由 变心金刚2 于 2012-10-8 03:00 编辑
jeffxl 发表于 2012-10-8 01:57
一般情况下,譬如WOW.exe的材质载入IO逻辑是这样的:
常规情况下(效果全开),WOW.exe大概占用800M---1.5G ...


游戏为什么要预测游戏角色将要去哪儿?这一个你所处区域内你能进的区域能最快退回的区域当然是游戏程序已经很清楚了。而对于Win7系统倒是游戏自身的变化,你控制游戏角色的每一步都可能是热数据,Win7系统怎能知道游戏内的地图接壤,行动限制范围和游戏对游戏者所做出的选择的所有反应?系统要这样做就得老是丢弃缓存可能的热数据,这个效率才底下。所以我看应该反过来,系统要判断那些是热数据才需要32G内存都不够,而游戏自身的判断是结合游戏角色所在范围,可进行的行动可能,还有游戏与游戏者互动的所有可能性。游戏所要求的内存就是包含了这些工作,它是效率更高的。
10#
变心金刚2 发表于 2012-10-8 04:09 | 显示全部楼层
jeffxl 发表于 2012-10-8 03:37
你说的这些东西,仅需要系统全局缓存即可,热统计和命中率是唯一指标,这些东西不能YY。

命中够高才有效 ...

全局缓存?系统压根不知道角色可能甚至将要去的区域和那个区域电脑控制的角色的反应所以缓存不可能比游戏准确,而你控制的角色暂时不可能去那儿,相应的游戏不可能给出的反应Win7也不知道,因此该丢弃的缓存又不如游戏自身有效。对系统而言所谓的热数据的确定远比游戏能限定的范围要大,漫无目的。加之整个系统可能除了游戏还在处理别的任务,可能下载软件要求了内存,可能杀毒软件防火墙申请了更多内存或者CPU资源,此时系统为了腾出内存需要清理部分缓存……这样下来又容易造成该缓存的没缓存,不该丢弃的倒丢弃了,CPU还忙东忙西。还是游戏自身安排有效,而我看Win7的缓存机制未必会去替游戏缓存什么,游戏的效率还得游戏自身主动去获得。
11#
变心金刚2 发表于 2012-10-8 11:15 | 显示全部楼层
本帖最后由 变心金刚2 于 2012-10-8 11:17 编辑
jeffxl 发表于 2012-10-8 06:18
实例:网吧游戏服务器使用10g的内存对1000g的游戏做热数据模型的缓存,仅经过一天的热统计学习,访问命中率 ...


系统怎么知道游戏中的那些数据将会成为热数据?游戏的所谓“经常读取的热数据”是没有标准的也没有时间范围的,系统不知道你在游戏的某处,并且多长时间内不可能从哪儿到哪儿和能干什么又不能干什么,就没法有效缓存,因为缓存和丢弃都没有依据。系统只能从第一秒开始就缓存数据,当还不存在热数据的时候,但一块数据在5分钟内比其他多读10次算热数据吗?然而可能几秒钟后另一块数据又超过它,然后它也潜伏不动了……这样很快几G内存就没了用户还没从中获益系统就已经开始丢弃缓存了。
Win7料不到哪些东西真正需要缓存,无法知晓游戏的进程估算缓存时间范围,它要漫无目的的占用,它还会把游戏缓存的了的数据视作热数据再缓存一遍……而且如果真的只需要2G的缓存那么XP也有缓存软件,并可以打开XP下隐藏未管理的内存,然而玩游戏却不会有帮助,这也是系统不太可能主动参与对游戏数据缓存试图加快游戏的原因——不是XP太老土那时候微软想不到而是没有作用。只有游戏主动向系统申请的效益才高,游戏才是有条件全局统筹
12#
变心金刚2 发表于 2012-10-8 15:07 | 显示全部楼层
jeffxl 发表于 2012-10-8 13:27
你再好好想想吧。我没言语

去学习一下什么是缓存,你还没有懂。

缓存的场合不同,套用不在游戏上。激光枪想法是好,但是没法为单兵装备上战场。
游戏从一开始就在不断读取数据,对于系统而言根本不清楚哪块数据将会成为此游戏中的热数据——系统不先缓存怎么知道将来哪块将会经常被游戏读取呢?于是这内存的开销就已经太庞大了。然而这只是保留了知悉热数据可能性而已,接下来就是我上面说的由于没有任何可参考的时间,场景范围于是漫无目的吞噬内存……还可能你都玩了半个小时在缓存中还没有可被系统认定为的“热数据”因为访问次数还都差不多,内存倒是快见底了,系统却在不断循环往复,无依据地缓存和丢弃,能否命中完全是在撞大运。还会做出重复缓存游戏已缓存的数据的傻事,所以包括Win7不太可能会去干这种吃力不讨好的活儿,只是用户的愿望。
只有游戏自身统筹安排,设计者知道比如开始到半程哪些场景,任务,台词,装备对应的数据块是重复率最高的,可高效缓存明显改善体验的,然后主动向系统申请内存来作为缓存,然后随着游戏进程的推进抛弃一些读取可能性较小的再缓存一些必要的读取高概率的读取,此时如果你要用到需要读取但被抛弃的缓存数据,那么对不起只能再读硬盘,该慢的还得慢,但这已经是能做到的最高效的缓存了,不需要系统帮忙,系统也帮不上。
13#
变心金刚2 发表于 2012-10-8 15:14 | 显示全部楼层
jeffxl 发表于 2012-10-8 13:48
这是一家50台机器的小型网吧,游戏大概在500G,服务器16G内存,2G用来缓存无盘镜像,11G用来缓存游戏 ...

系统无法判断所谓IO请求次数高低因为那对系统而言是未知的游戏,没有时间范围的概念怎么能判断游戏所请求的IO高与低?
14#
变心金刚2 发表于 2012-10-8 16:28 | 显示全部楼层
本帖最后由 变心金刚2 于 2012-10-8 16:35 编辑
jeffxl 发表于 2012-10-8 15:42
IO计数无关用户逻辑,那些货对缓存来说不是游戏,只是热代码。计数是一直积累,时间越久概率越聚合 ...


那Win7怎么知道对于一个未知的游戏而言该在其进程请求IO多久之后开始根据其这段时间中请求的次数分出热数据?几秒钟还是几分钟得出?然而其实那可能只是你在一片游戏初始地域内的活动,游戏一早就将此区域存在内存之中了,系统再缓存实质是浪费内存做无用功,可能等你不知何时需要时这些热数据已被抛弃,或者你已经先行退出游戏了。
如果是FPS游戏,使命,战地之类缓存有什么用呢?但若Win7的缓存机制真如你所说,那么Win7依然会找热数据,而重复占用内存!
但事实上微软恐怕不会这么干这么高消费低效率的事。


15#
变心金刚2 发表于 2012-10-8 20:26 | 显示全部楼层
本帖最后由 变心金刚2 于 2012-10-8 20:32 编辑
jeffxl 发表于 2012-10-8 17:49
缓存系统工作是类似的,命中率需要一个学习过程,我们叫做命中率爬坡阶段。越往后,资源概率越集中化。效益 ...


不用举别的例子,实实在在地针对缓存游戏来讲:你学习的过程是要花时间的,人家早已开始玩了。你学习的东西是要被抛弃的,因为你的热数据太多内存不可能装下所有热数据,系统抛弃的不是冷数据也是热数据只因为内存装不下了!所以很可能用户重复时已经抛弃了而存着的时候却一直没用到,而且留下的即便是有用的缓存也可能是重复游戏的缓存,本来就由游戏装入内存里了,游戏本身所占用的内存也包括干这个的,如果多占用你那缓存的3G内存能有效率游戏自己就多申请3G了。你想能剩多少效率?
不想一再重复了,实际操作很简单:
你认为Win7玩使命召唤感觉会比XP快或者流畅吗?试一试
XP安装缓存软件玩游戏你觉得你会感觉更流畅吗?试一试
16#
变心金刚2 发表于 2012-10-9 03:40 | 显示全部楼层
jeffxl 发表于 2012-10-8 23:36
所以我很好奇,您是如何提问,问我在计算力设备不变,又完全没有磁盘压力的游戏场景下,仅因为缓存效益导致 ...

缓存只是手段,目的是改善游戏的体验,缓存的价值如果不能体现在游戏中也可以体现于其他方面,但若在游戏中无法体现其价值那就只能舍去为游戏加速这个想法。
Win7和XP一样无法知道你进入的游戏是使命召唤呢还是魔兽世界,如果要缓存那就什么游戏都缓存,那么至少玩使命时Win7也在那儿缓存而空耗着内存和CPU资源……依我看微软不会干这种事。
XP也无法用缓存软件明显提升游戏体验,因为游戏机制不会指望系统主动给它帮忙,它有自己的内部优化机制在运转
使系统内核完全在内存中运行为系统运行加速,同时减轻硬盘负担实质上也是利用大内存,只是未必称做缓存而已。给硬盘分派更多的缓存也是利用内存缓存优化。但除了这些Windows传统的利用内存进行缓存的方式之外其实我看Win7也很保守,不少人用着Win7 64位却还是用Ramdisk减轻看在线视频的硬盘损耗,你能否告诉他Win7的缓存机制其实已经将视频用内存缓存了呢?不能吧?因为Win7好像确实不会这样做。按道理讲视频也可能看第二遍,即使没看反正先存着,等可能不够用再删掉不也行嘛?硬盘多贵啊!但事实上Win7不会这样做,甚至Chrome这种硬盘上动不动过500MB的浏览器缓存Win7都不会主动去缓存加速减负,然而哪怕你将Chrome的缓存移到内存里本来就快的Chrome也不会再明显提升速度,估计Chrome自己已向系统请求到内存缓存了这些。所以我觉得这并不是Windows系统及其程序的运作方式。

评分

参与人数 1活跃度 -15 收起 理由
James007ss -15 执行版规第9条

查看全部评分

17#
变心金刚2 发表于 2012-10-9 16:29 | 显示全部楼层
jeffxl 发表于 2012-10-9 14:23
您根本就不懂Cache到底是什么,不是您想让他干什么就干什么,Cache只对自己的热数据统计算法负责(这和您 ...

这次的回复不是出自完全的你,对吗?呵呵
若有得罪之处抱歉了

感谢以前CPU版版主对我的帮助吧,听得到听不到反正我说了哈
18#
变心金刚2 发表于 2012-10-9 16:33 | 显示全部楼层
James007ss 发表于 2012-10-9 13:43
请你重新认真、仔细的看懂看明白JEF他所说的内容及意义,你现在这些言论,我已经无法认为是正常的讨论 ...

烦请速封我账号并封IP以免我以后碰巧搜索到,又点击进此处,费心了

点评

我已经对你的违规行为作出适当的处罚,你的行为并未构成封号或封IP的条件,所以我无权执行这些操作。而你个人的其它行为,我无法干预。  发表于 2012-10-9 17:35
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部