你实际上需要多少内存

如何根据机器当前承受的负载来定内存容量,为什么内存不够会悄悄拖慢速度,以及什么时候一套配对的内存条胜过单条。

更新于

本页内容
  1. 机器现在用了多少
  2. 内存不够的代价
  3. 按你做什么来定容量
  4. 一套还是两条
  5. 我们如何跟踪一套内存的各个容量

按机器承受的负载来定内存,而不是按一个听起来差不多的数字。这个负载是你在使用中就能测出来的,它基本上就决定了答案。剩下的只是把它读对,并在其上留出余量。

机器现在用了多少

真正重要的不是还剩多少内存。现代操作系统会有意用缓存的文件填满空闲内存,因为闲置的内存对谁都没用,而一旦有程序索取,它会立刻交还。所以一台报告几乎没有空闲内存的机器,可能根本没有任何压力。你要看的是这之下的压力。

在 Windows 上,打开任务管理器,然后是性能,然后是内存。读两行:使用中,即程序此刻占用的内存,以及已提交,即已向物理内存加页面文件承诺出去的总量。当已提交超过已安装的内存时,机器就在靠硬盘来填补这个缺口。在 macOS 上,打开活动监视器,然后是内存,读底部的内存压力图。绿色表示机器很从容;黄色和红色表示它在吃力地跟上。那张图才是诚实的答案,而不是它上方的已用内存数字。

在你真正工作的时候读这个数——你一起开着的应用、你实际会开到的标签数、你忘了它在那儿的后台。在空闲时测出的机器,告诉你的是一台空闲机器需要多少,而那不是问题所在。

内存不够的代价

当程序索取的内存超过机器所有时,什么都不会失败。操作系统会把最久未用的页面移到硬盘上——Windows 上是页面文件,macOS 上是交换空间——为你此刻正在碰的东西腾出空间。一旦有什么要用到被移出去的页面,机器就得先把它取回来,程序才能继续,而这整段时间程序都在等。

这段等待就是代价,而它不会表现为一个数字。它表现为你切回某个标签时的一下卡顿、某个后台任务唤醒时的一次停顿、一次比应有时间更久的保存。一块快速的 SSD 让取回更快、卡顿更短,这就是为什么在现代机器上内存不够是可以忍受而非痛苦的。它并没有消除这个差距:内存以几十纳秒作答,而即使一块快速的硬盘也要几十微秒——长了一千倍。硬盘缓和了这一跌。它没有阻止你跌下去。

所以定容量的目标,是在你实际做的工作中让已提交内存低于已安装的量,并在其上为你没算进去的后台留出余地。

按你做什么来定容量

从读数开始,再加上余量,因为负载从来不只是你心里想的那一个程序。操作系统、浏览器和它的标签页、一个聊天客户端、一个密码管理器,以及任何在后台同步的东西,都会在你真正的工作打开之前先占住内存。

轻度使用——浏览网页、办公文档、一次玩一个游戏——舒适地落在主流机器已经所在的位置。在一个照片或视频编辑器旁边开着许多标签、跑一个虚拟机,或者在启动器、浏览器和聊天悬浮窗全都开着的情况下玩游戏,那个舒适的数字就往上抬一档。更重的是那种因其本性就要在内存里装着大文件的工作:高分辨率编辑、本地编译、同时跑好几个虚拟机。到那里,问题就不再是你够不够,而是这份工作会长到多大。

这些没有一条是你在固定数字上跨过的线。每一条都是一个区间,你落在其中哪里,取决于在你所想的那个任务旁边还跑着多少东西。按你使用的机器来定容量,把后台算进去,而不是按你面前的那一个程序。

一套还是两条

两条通常比一条好,原因是带宽。一个有两个通道的内存控制器可以同时从两条内存条读取,把数据在内存与处理器之间移动的速度大致翻倍。大多数工作不会察觉;借用系统内存来替代自身显存的集成显卡,会察觉得很明显,一些游戏也感觉得到。

陷阱在于现在买一条、打算以后再配。两条只有在能就一个速度达成一致时才会一起运行,而一条在几个月后、来自不同生产批次买来的内存条,可能拒绝跟上它搭档保持的节奏,把两条都降到一个更慢的档位——或者根本无法作为一对运行。从另一头看,把每个插槽都插满也对你不利:许多主板只有在装两条时才能守住其标称速度,而当四个插槽全插满时会把它降下来,因为控制器在驱动双倍的负载。

所以把你想要的容量作为一套配对的内存来买,用尽量少的条数达到它。这就是为什么这里的一套内存标着它的条数:作为两条 16 GB 的 32 GB 套件,和同样作为四条 8 GB 的 32 GB,不是同一笔购买,而那一对给你留下了整套所不给的成长余地。

我们如何跟踪一套内存的各个容量

以多个容量销售的一套内存,在这里是一个有多种容量的产品,而不是几个互不相关的产品。每个容量单独跟踪,有自己的当前价格和自己的价格历史。各容量并不一起变动——32 GB 套件的抢购不会碰到 16 GB 卖多少——所以把它们合进一个数字会令每个容量都标错价。

这套内存自己的页面才是各容量分开的地方。页面顶部的价格是目前追踪到的最便宜容量;下方每个容量都列有自己的价格,价格历史图表为每个容量绘制一条线。先定好你要买的容量,再读价格。

我们目录中的每一套内存 都在一个页面上。

常见问题

16 GB 够用吗?
对于浏览网页、办公和大多数一次只玩一个的游戏,通常够用。如果你在开着许多标签页的同时还开着创作软件、跑虚拟机,或在大量后台程序下玩游戏,32 GB 能消除 16 GB 开始出现的卡顿。
我需要两条而不是一条吗?
一套配对的内存条能让控制器同时在两个通道上读取,这在依赖集成显卡的机器上最有价值。买内存时直接买到你想要的容量作为一套,而不是先买一条打算以后再配,因为不匹配的第二条可能拒绝以相同速度运行。

本类目的选购指南