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

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

  [复制链接]
jxflyfly7 发表于 2012-1-24 20:15 | 显示全部楼层
jeffxl 发表于 2012-1-24 20:08
我认为没有任何影响,缓存的填充对于SSD来说是非常小的负载了。而且内存的IOPS能力较好,缓存命中的话, ...

那您的意思就是没有必要关闭Superfetch喽?OK,我这就去优化下
windingway 发表于 2012-1-24 21:05 | 显示全部楼层
itbeta 发表于 2012-1-23 19:45
仅限于windows 会温到死的  linux内存管理机制不比windows差

这点确实,Linux的内存管理要比瘟到死好太多,所以Linux在嵌入式上的应用要比Win好很多
vgxd 发表于 2012-1-24 21:28 | 显示全部楼层
/3gb只是xp 32位版的参数,而且这个参数会造成兼容性问题,比如在a卡的系统下开这个参数会不能硬解等等。
对于vista以上用大内存也最好不要关页面文件,实在要关可以划出一块ramdisk上放个页面文件。
还有superfech其实也没太大用处,只是个主动缓存技术,在vista之后的系统里就算把superfech关掉,系统同样还有被动的缓存管理存在,使用频率高的程序基本是常驻内存,当然一旦重启就从头开始了。
jeffxl  楼主| 发表于 2012-1-24 21:53 | 显示全部楼层
本帖最后由 jeffxl 于 2012-1-24 22:41 编辑
vgxd 发表于 2012-1-24 21:28
/3gb只是xp 32位版的参数,而且这个参数会造成兼容性问题,比如在a卡的系统下开这个参数会不能硬解等等。
...


不关页面文件(保留1G左右),也没必要使用RAMDISK,增加了复杂度,也没任何效果。

关于superfech技术,在用户层面是否开启,我认为有SSD的情况下可以随意一些。对SSD的性能来说,开启superfech后,对已统计的热数据进行主动填充缓存也没什么影响(特别是VISTA,主动填充时的IO压力对于机械盘来说稍微大了些),如果主动填充的部分被命中,那么可以提高软件初次加载的启动速度,内存的IOPS能力比SSD高很多,虽然可能效果不太明显(因为SSD的IOPS能力使未缓存部分的数据在载入在时间上也是可以接受的)。

关于常规方式的缓存,WIN7已经提供了最好的方式,而且是自动管理,动态控制。

关于你说的“常驻内存”,应该叫未被缓存释放的数据部分,而不是狭义的程序常驻缓存那个概念,如果某应用程序或几个应用程序在某个时间申请到接近你内存容量的内存请求,这个时候WIN7缓存系统就会自动管理缓存部分,缓存会被接近全部释放,让出容量用来提供给程序本身提供运行空间。这里就不存在你说的"经常使用的程序会被常驻内存”的情况,这是个例外,而且这个时候如果superfech是开启的,它才会在有空闲容量时在再次主动填充热数据到缓存以备使用,不然又要等人工加载一次某程序后(这个时候就又是未命中冷加载),才能提供缓存效能。


这里我建议superfech配合WIN7动态缓存机制使用,这样只要有“空闲”容量,那么就会立即自动填充缓存,以提供最大的缓存效益


点评

这段好,总算把“为啥关了superfech还会有那么多缓存占用内存”搞清楚了。因为之前开了程序还留在缓存里,然后内存够大,新开的程序没导致释放掉  发表于 2012-1-27 00:19
jeffxl  楼主| 发表于 2012-1-24 22:02 | 显示全部楼层
本帖最后由 jeffxl 于 2012-1-24 22:07 编辑
vgxd 发表于 2012-1-24 21:28
/3gb只是xp 32位版的参数,而且这个参数会造成兼容性问题,比如在a卡的系统下开这个参数会不能硬解等等。
...


NT6下面取消了BOOT.INI配置文件,32位NT6系统需要使用bcdedit /set IncreaseUserVa 3072来开启3G用户层支持(文章内已补充),感谢提示。
adolfxitele 发表于 2012-1-24 22:13 | 显示全部楼层
看不懂飘过
20081010aaa 发表于 2012-1-24 22:40 | 显示全部楼层
感谢分享,解决了一个左思右想的大难题
ilonely23 发表于 2012-1-26 22:30 | 显示全部楼层
不错的文章,受教了~
hudizhou 发表于 2012-1-28 17:53 | 显示全部楼层
本帖最后由 hudizhou 于 2012-1-28 17:57 编辑

文章有点深奥... 从第一次装Win7, 到现在基本有三年了...
现在俨然成为了娴熟的 装机人员...

在关于虚拟内存一问题上, 之前是大于4GB后 基本考虑禁用的, 后来大于8GB物理内存我就考虑禁用.
现在么, 还是开了点虚拟内存, 因为在玩泰坦之旅的时候非强制要求有虚拟内存..

不过SuperFetch 我还是特地关闭 并且禁用了, 我感觉会产生太多的零碎文件.
一般装好系统全部优化完后我会进行一次磁盘整理, 并做好ghost镜像.

By the way, 64位Win鸡,
没多少电脑基础的用户都可以直接从XP自然过渡, 个人还是比较看好的.

貌似 Win8 检测到 SSD会自动禁用SuperFetch, 那时候我觉得SSD 大元年要来了!
mikeee146 发表于 2012-1-28 19:12 | 显示全部楼层
很不错,把以前略懂的WIN7内存机制说细了
俺是先用上SSD,然后把内存从4G-8G-16G,完完全全的EGG疼啊
refraig 发表于 2012-1-28 20:46 | 显示全部楼层
这样说的话,我为了保证我SSD的寿命,把系统缓存,用户缓存放到RAMDISK上是没有必要的做法么? 而且禁用掉虚拟内存不会对系统产生影响么,我为了以防万一还是把虚拟内存留了500M在RAMDISK上
jeffxl  楼主| 发表于 2012-1-28 21:10 | 显示全部楼层
refraig 发表于 2012-1-28 20:46
这样说的话,我为了保证我SSD的寿命,把系统缓存,用户缓存放到RAMDISK上是没有必要的做法么? 而且禁用掉 ...

1.没必要使用任何第三方节省磁盘IO或加速IO的应用,系统本身已经提供了足够的特性保证同样的性能。
2.没必要禁用虚拟内存(页面文件),增加兼容性风险,而且没有任何好处
junweb 发表于 2012-1-28 21:40 | 显示全部楼层
了解下好好想想
nobillgates 发表于 2012-1-28 22:20 | 显示全部楼层
这篇文章写得十分通俗易懂啊,非常感谢,随着Windows的发展,自身的内存管理技术也是在不停进步,从当初Windows 98/Me那会儿内存不足就要死机,到了后来XP,再到现在的Vista/Windows 7,,系统虽然对最小内存需求虽然越来越大,但是运行速度也比以前有大大提升啊
bnbn730 发表于 2012-1-30 12:09 | 显示全部楼层
非常感谢,澄清了误解,真的很长见识!
浪子燕青 发表于 2012-1-30 22:29 | 显示全部楼层
非常感谢
wind007 发表于 2012-1-31 16:48 | 显示全部楼层
我现在是12G内存,64GSSD系统盘,1TB黑盘从盘,虚拟内存设置1024在系统盘,别的什么都没修改,合理吗?
jeffxl  楼主| 发表于 2012-1-31 17:06 | 显示全部楼层
wind007 发表于 2012-1-31 16:48
我现在是12G内存,64GSSD系统盘,1TB黑盘从盘,虚拟内存设置1024在系统盘,别的什么都没修改,合理吗? ...

就这样就行了,只需要注意SSD的对齐和AHCI开启
风雨阿贤 发表于 2012-1-31 21:48 | 显示全部楼层
要看多几遍才行
xxy 发表于 2012-1-31 22:36 | 显示全部楼层
mark一个

点评

提前测试我们的新版规?  发表于 2012-1-31 22:39
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部