ℝ𝕥ℝ_𝟚𝟟
2022-04-03T11:28:58+00:00
先说下内存的使用机制:
1打开程序,数据从硬盘取到内存运行,程序关闭以后,这部分在内存里的数据并不会直接删除,而是会等程序下一次打开的时候,直接从里面拿数据,就不用再读盘了。缓存部分会等可用部分所剩无几的时候再删除,腾出位置给其他程序用。
另外Windows有个超级预读服务(Sysmain,以前叫Superfetch),它的功能就是猜测你可能运行的程序,把这些数据提前读取到内存里作为缓存,这样就不用等到你打开程序的时候再去读取,缩短程序打开时间。
2当已使用部分较多时候,电脑会先压缩后台程序或者不是特别重要的服务已使用的这部分内存,待需要(后台程序切换前台、服务被激活等)的时候再解压出来,这样速度比直接从虚拟内存上读取要快得多,会占用一些CPU性能。
3等到内存压缩也不能腾出空间给前台程序的时候,电脑就会把后台程序和服务占用的内存放到虚拟内存上,等到程序切换或者服务激活的时候再从硬盘上读取。这是个非常慢的过程,特别是以前没有固态硬盘的时候,内存的读写和磁盘的读写差了几个数量级,系统卡顿经常也是因为这个原因。
所以我们选择内存容量的时候的原则是:
尽量避免3的出现,即因为内存容量不够,把需要经常切换的程序和经常被启动的服务给挤到虚拟内存里,这样的电脑上SSD似乎卡顿会好很多,但是原因其实是从SSD读写虚拟文件比较快,根本问题还是内存不够。
一般来说,如果你正常使用情况下,已使用占到85%的样子,基本上出现3的情况就很普遍了。
1和2的需求对各类人是不太一样的,这大概也是前些天的帖子会两极分化的原因。
有人电脑最大的功能是游戏机,使用电脑的典型场景是打开浏览器,开几个网页,打开游戏,挂一些聊天软件,常用使用也就是在这几个程序中切换,这样游戏占10G左右内存,网页占2G左右,加上系统和聊天软件,16G内存在程序切换的时候最多也只有内存压缩的延迟,完全够用了。
但是有些人(比如我)电脑的使用场景可能会很混乱,比如开了几个Adobe软件弄几下,然后再开个几个文档,有可能还要开个建模软件。Chrome开两三个每个十几个标签页,因为要随时切换看别的,然后还会走神去打打游戏。
这种情况下,这些缓存对我们是非常有用的,因为可以让你想到什么就能点开什么。我家里电脑32G内存,正常使用的情况下,大部分时候打开任务管理器,已使用不到一半,剩下一半都是缓存,可用部分寥寥无几。
所以16G还是32G,还是取决于自己电脑的定位和使用习惯,每个人从自己的使用感受都会觉得挺不错的,但是也没法说服对方。
另外:
干活的电脑经常是很多吃内存软件一起开的,穷啥不要穷内存,频率大部分情况下则不是特别敏感。使用高速SSD作为虚拟内存,会让你加载和编辑流畅很多,另外撤回操作也是保存在虚拟内存里的。
对于不怎么关电脑的使用场景,大内存优势会更加凸显。
不要关虚拟内存。
基于自己看的东西和经验得出的结论,如果有错误欢迎指正。
1打开程序,数据从硬盘取到内存运行,程序关闭以后,这部分在内存里的数据并不会直接删除,而是会等程序下一次打开的时候,直接从里面拿数据,就不用再读盘了。缓存部分会等可用部分所剩无几的时候再删除,腾出位置给其他程序用。
另外Windows有个超级预读服务(Sysmain,以前叫Superfetch),它的功能就是猜测你可能运行的程序,把这些数据提前读取到内存里作为缓存,这样就不用等到你打开程序的时候再去读取,缩短程序打开时间。
2当已使用部分较多时候,电脑会先压缩后台程序或者不是特别重要的服务已使用的这部分内存,待需要(后台程序切换前台、服务被激活等)的时候再解压出来,这样速度比直接从虚拟内存上读取要快得多,会占用一些CPU性能。
3等到内存压缩也不能腾出空间给前台程序的时候,电脑就会把后台程序和服务占用的内存放到虚拟内存上,等到程序切换或者服务激活的时候再从硬盘上读取。这是个非常慢的过程,特别是以前没有固态硬盘的时候,内存的读写和磁盘的读写差了几个数量级,系统卡顿经常也是因为这个原因。
所以我们选择内存容量的时候的原则是:
尽量避免3的出现,即因为内存容量不够,把需要经常切换的程序和经常被启动的服务给挤到虚拟内存里,这样的电脑上SSD似乎卡顿会好很多,但是原因其实是从SSD读写虚拟文件比较快,根本问题还是内存不够。
一般来说,如果你正常使用情况下,已使用占到85%的样子,基本上出现3的情况就很普遍了。
1和2的需求对各类人是不太一样的,这大概也是前些天的帖子会两极分化的原因。
有人电脑最大的功能是游戏机,使用电脑的典型场景是打开浏览器,开几个网页,打开游戏,挂一些聊天软件,常用使用也就是在这几个程序中切换,这样游戏占10G左右内存,网页占2G左右,加上系统和聊天软件,16G内存在程序切换的时候最多也只有内存压缩的延迟,完全够用了。
但是有些人(比如我)电脑的使用场景可能会很混乱,比如开了几个Adobe软件弄几下,然后再开个几个文档,有可能还要开个建模软件。Chrome开两三个每个十几个标签页,因为要随时切换看别的,然后还会走神去打打游戏。
这种情况下,这些缓存对我们是非常有用的,因为可以让你想到什么就能点开什么。我家里电脑32G内存,正常使用的情况下,大部分时候打开任务管理器,已使用不到一半,剩下一半都是缓存,可用部分寥寥无几。
所以16G还是32G,还是取决于自己电脑的定位和使用习惯,每个人从自己的使用感受都会觉得挺不错的,但是也没法说服对方。
另外:
干活的电脑经常是很多吃内存软件一起开的,穷啥不要穷内存,频率大部分情况下则不是特别敏感。使用高速SSD作为虚拟内存,会让你加载和编辑流畅很多,另外撤回操作也是保存在虚拟内存里的。
对于不怎么关电脑的使用场景,大内存优势会更加凸显。
不要关虚拟内存。
基于自己看的东西和经验得出的结论,如果有错误欢迎指正。