买了一根内存(以及用来干了什么)

好久没有写博客了,上来就是跟编程没什么关系的文章,sigh。

这次买内存有两个原因,一是最近内存跌得厉害,二是暑假在家颓废的时候发现SSD写入量很大(每天几十G),想加内存来解决。本来想入4G,后来还是决定一步到位买一根8G DDR3L的,不出问题的话应该可以战个十年吧。看了图吧捡垃圾教程后在咸鱼上蹲了两天,220入了一根二手拆机条,本来还可以更低的,错过了一次200以后没忍住。装完以后一共12G物理内存,测试没有问题。

下面是重点:这么大的内存怎么用?

  1. 内存大了以后pagefile应该很少会用到了,先减少了pagefile的大小,免得占着磁盘空间。
  2. 折腾ramdisk,直接将结果列在下面(系统是win10 64bit,Ramdisk是Primo Ramdisk,4G Direct-IO FAT 关闭动态内存管理 关闭镜像[大概是性能最好的设置了吧])
    1. 第一个想到的还是pagefile,希望将这一项的硬盘写入量减少为0。这个争议很大,因为分出ramdisk空间给pagefile这个行为本身又会增加pagefile的使用,google良久没有结论,而且据说蓝屏的dump也在pagefile,还是算了。
    2. 更改firefox的缓存目录,光是平时在网页上看视频,写入量就挺可观了。
    3. TEMP,可以改环境变量,也可以直接用Primo Ramdisk的实用小工具改。
    4. WINRAR临时目录,在WINRAR设置里改,好像默认就是TEMP,不用改。
    5. 设置ramdisk以后发现关机以后ramdisk上的文件并没有消失,吓了一跳,搜索发现是win8以后的fast boot(hybrid shutdown/boot)引起的,于是进行了一系列不严谨的测试,如下。
      normal shutdown和hybrid shutdown的时间差别不大(约16s),不同在于normal shutdown会转比较久的”正在关机”,屏幕熄灭后很快完成关机;hybrid shutdown很快就会熄灭屏幕,但是还要读写硬盘比较久才能完成关机。重启用的是normal shutdown。
      使用hybrid shutdown时不知道为什么ramdisk不会被重置,可能因为软件的实现比较底层,懒得测试其他ramdisk了。
      快速启动需要启用休眠(powercfg /H On)。
      用cmd时shutdown加/hybrid才是hybrid shutdown,禁用快速启动后即使加了hybrid还是normal shutdown。
      对于休眠/关机,ramdisk空闲或者用新文件/有规律的文件充满时很快,被随机文件充满时很慢,这是因为休眠时会先将内存里的数据进行压缩再写入hiberfil。进入休眠和从休眠唤醒所花费的时间与写入量正相关,若ramdisk使用率低,即使内存占用很高,经过压缩后写入量其实不大。
      为了减少休眠/关机时的写入量,设置了关机/休眠时自动清除ramdisk。设置以后睡眠/休眠/关机都会触发,本来想睡眠不清除的,但是貌似并不能区分睡眠和休眠。附:用管理员权限运行计划任务
      如果曾经写入过随机文件,无论执行Primo Ramdisk提供的init,还是rd或format都不会彻底重写,导致压缩效果很差,改成rd然后sdelete -z就好了,用时大概1.5s,而且不像Primo Ramdisk提供的rebuild(大概1s,未测试是否能提高压缩率)那样,会保留正在被占用的文件。
      ——–综上——–
      快速启动:据说相当于log off+hibernate,实际上也很像,效果显著,写入量小,应该开
      休眠:为了快速启动,开。但是因为hiberfil.sys必须在系统分区上,内存大时会占用比较大的空间,可以视情况减小hiberfil大小(默认物理内存总大小的75%,压缩后超过了会导致休眠失败)。
      顺便一提,不使用镜像的话,ramdisk不会明显增加开关机时间,请放心。
    6. 关于Ramdisk还有没有其他的用法,比如新建一个分区关联仅加载镜像,把软件装到上面;RAMOS;将虚拟机的磁盘文件挪到ramdisk之类的,因为用不上或者限制太大就没搞。
  3. 禁用了Windows Search,这个是为了减少写入量。

本来SSD的写入/读取比是接近1:1的,折腾一轮以后大大减少了,假定读取量没有变,算是不错的效果了。

内存大了以后最明显的差别是用win10的图片查看器(不是Photos)打开某专选课的1.9G的清明上河图的时候,如果剩余内存小的话会直接提示
内存不足
内存充足时则会占用约6G内存然后回落到约4G,虽然内存优化很渣,但是换取了很快的缩放速度。


以上内容最后修改时间2015-09-26 20:42
update 2016-01-15
因为之前分4G作为Ramdisk的时候多休眠几次后superfetch的压缩内存会很大有时候会提示内存不足(明明还有1G多),现在改成2G了,基本上也够用。
另外因为睡眠的时候设置的清空Ramdisk的计划任务也会运行,但是睡眠的时候Ramdisk并不会写回到硬盘里,所以有时候会希望这次睡眠的时候不要清空Ramdisk,于是写了两个批处理,第一个批处理会禁用清理的任务并启用登录时自动调用第二个批处理的任务,第二个批处理会重新启用清理的任务并禁用登录时自动调用第二个批处理的任务(就是说辅助任务只执行一次),这样想要在当次睡眠/关机时不要清理的话只需要用管理员权限运行一次第一个批处理就行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值