新 MBP, 16 gb 与 32 gb 内存真的区别不大吗?

2021-11-01 15:34:49 +08:00
 MID
<amp-youtube data-videoid="gqiYSt4nAFs" layout="responsive" width="480" height="270"></amp-youtube>
youtuber 说因为这次 ssd 很快,可以 swap ,所以下结论没必要上 32g ,应该把剩余的钱投资 ssd ,大家如何看待这种言论呢?
12309 次点击
所在节点    MacBook Pro
85 条回复
Uplay
2021-11-02 13:46:40 +08:00
@KemChen 早点看到这条就好了,我以为外接 4K 要吃内存严重,上了 32 ,后悔 ing
fovecifer
2021-11-02 13:54:13 +08:00
我就是使用 32G 内存的黑果

请用不到 32G 内存的人不要质疑我们,我们就是需要大内存。

PS1:固态硬盘频繁写入会对寿命有影响
PS2:苹果的内存是 DDR5 ,我觉得还算是比较划算
sdushn
2021-11-02 14:09:27 +08:00
那。。。不要内存可以嘛
dikey
2021-11-02 14:56:17 +08:00
我们需要一些关于计算机的常识

- 双通道 DDR4 3200 总带宽 ~ 50GB/s
- 顶级 SSD 读写速度:约 5GB/s

那么,你愿意买一台不要内存,但是读写速度只有原来十分之一的 PC 吗
justaname
2021-11-02 15:14:47 +08:00
@dikey 问题是大部分情况下只有很少的 working set 里的程序才需要用到这么高的带宽,而绝大部分程序并不需要,从 cache 到 active 的时间如果足够短的话对普通用户并没什么区别。除非是单一任务的 working set 已经到了物理内存无法满足的程度
zxxufo008
2021-11-02 15:41:49 +08:00
@fovecifer lpddr5 不是 ddr5 ,我记得是 ddr4
dikey
2021-11-02 16:04:34 +08:00
@justaname

你要说高带宽用不上(一堆干活前要先加载个几十 G 素材的图形相关工作者肯定不同意你的观点),那小文件读写,内存更是吊锤 SSD 了。

- 寻址时间上:4K 文件,内存纳秒级; SSD 微秒级,如果是大量文件 4K 寻址,光延迟就头疼了,表现就是程序响应极慢
- 大量 4K 文件(有没有看到一堆问 Mac 玩 xx 游戏怎么样的):内存轻松 500M/s+,除了傲腾的顶级 SSD 60M/s 都算好的……

最后我们来看一下 DDR4 4000 对比 DDR4 2666 的游戏性能

https://www.bilibili.com/read/cv12030464

DDR4 4000 ( 2666 * 16 = 64 GB/s ):70-90 fps
DDR4 2666 ( 2666 * 16 = 42.6 GB/s ) 40~80 fps
DDR2 800 ( 800 * 16 = 12.8 GB/s ) ? fps
SSD 6GB/s ?

最顶尖的 SSD (除了傲腾)仍然连续读写都不如 DDR2 内存,更不用提 4K 。

在涉及到 CPU -> data -> GPU 的游戏中,6GB/s 估计可以让游戏 FPS 直接下降到 20FPS 。
mmmfj
2021-11-02 16:14:18 +08:00
8g 用的好好的
n666us
2021-11-02 16:16:23 +08:00
@franklight 我定的 32g 512g 后悔没上 16 1t ,很难李姐么?
justaname
2021-11-02 16:22:39 +08:00
@dikey 你是在比较内存和 ssd 的性能差异,完全不是一回事吧。。

我的意思是只要保证你当前跑的 task 放在内存里就行了,系统也不会用 ssd 去替代内存的角色,实际上肯定是不断的把需要的部分 swap 进内存,不需要的 swap 出去,而绝大部分人的 working set 根本没那么大而已。

实际情况当然和调度算法还有任务类型有关,但是目前几乎所有的比较 general 的抗压测试(包括编译、剪辑、多任务负载)都只体现出了非常小(<10%)的差异。当然我相信超大型项目的编译或者开发很可能直接拉满 16G 以上内存,但是这类人肯定知道自己需要什么,别的负载我暂时没想到什么能让 working set 达到 10G 的级别,即使是素材加载通常也并不意味着随机访问的热数据需要有几十 G 那么大。如果你有见过相关的对比测试欢迎发出来讨论
justaname
2021-11-02 16:26:47 +08:00
@dikey 游戏本来就是典型的单一任务大内存需求呀,但是目前的游戏内存主要需求还是在显存上吧?指令和数据那点内存能占多少,这不就是我说的 16G 无法解决的大显存的情况吗。问题是目前 m1 pro 能跑的游戏 16G 显存+内存都绰绰有余了吧,战未来的话当我没说
echo1937
2021-11-02 16:46:03 +08:00
@20015jjw #37

swap 对性能的影响在于 Page fault 那一下,对程序性能和用户体验会有较大影响。

1 、视频里开了一堆应用把内存占用撑上去,但是也没撑到 90%以上这种高压力;
2 、后台程序几乎不活跃了,swap 出去以后对自身也没有大影响;
3 、前台的测试程序,只要系统 swap 策略够激进和优秀,能把后台内容都缓存出去,前台性能是不会有什么影响的,尤其是内存占用是逐步上升那种应用。
4 、这个视频的结论应该是,日常使用下 16G 和 32G 性能几乎无差异,因为你把想到的程序都开了,16G 也没用到顶。

大内存真正的用处是,你有 2 个 8G+的程序同时在跑,如果总内存是 16G ,系统往复 swap ,整体性能就很难看了。

比如前台跑 IDE ,后台跑多个虚拟机提供本地开发环境;

或者你多开游戏,在多个窗口切换帧率非常感人,我当初 8 开 EVE ,内存升级到 16G 效果是拔群的。
crystone
2021-11-02 16:52:59 +08:00
@Uplay 后悔啥,等真需要的时候估计会庆幸

@dikey +1 就是这么回事,内存的速度是现在 ssd 没法比的,而且 ssd 还有写入寿命的问题。之前在 m1 的时候大家不是讨论很多写入量么?就是这么回事


@echo1937 这个分析到位。大家可以试试多开几个虚拟机,然后几个 IDE ,Chrome 打开,分分钟内存爆满。
20015jjw
2021-11-02 17:14:48 +08:00
@echo1937
说的在理

但我还是需要指出,大部分人场景用不到多个大内存的程序,开的多不关算是比较常见的高内存消耗,毕竟好几年前 8g air 最小化七八个 chrome 加起来 200 个 tab 也能用的情况太常见了,至于这算不算专业场景我就不点评了。

我完全支持虚拟机用户需要大内存的观点,只是我个人的专业场景一般用不到,which 一般就是俩 IDE 占 16g+4g ,编译 20-30 个 g 。64g 的笔记本算是够,但 16g 根本无法编译直接报错。96g mac pro 能多开点别的 workflow ,比如 design ,但就算是 pr ae 也都是很小,加个字幕 /慢动作的项目...

顺便一提多开 eve 还有一个问题是显存管理不一定优化,就算在今天,3080 开个 3a 再开个 15 年前的老游戏(nfsmw),俩 3a 都可能卡到不能自理...
echo1937
2021-11-02 17:22:05 +08:00
@20015jjw eve 几乎不怎么吃显卡,我们这边常年用 1060/970 跑低特效 8-16 开。
zeni123
2021-11-02 17:38:24 +08:00
@thedrwu hibernate 的时候只需要写占用内存这么多的东西就可以了 例如 32G 只用了 10G 就只写 10G.
zeni123
2021-11-02 17:40:04 +08:00
后台程序不活跃 swap 的效果好 ,试一下后台 FCP 导出 然后前台写代码. 肯定是需要大内存的.
cz5424
2021-11-02 17:59:56 +08:00
从 8g 到 32g 的用户表示,我现在经常停在 50%,也就是用了 16g
crystone
2021-11-02 18:18:55 +08:00
@cz5424 现在很舒服,过几年就要用满了。需要考虑余量给几年时间使用。
如果是那种年年换新的,就当我没说,基本款就行。我是打算用至少 7-8 年的。
手上的这个 2014 年买的,当时非常流畅,内存 8G 也基本用不完,但几年下来就觉得吃力了,某宝家换了 16G 也是刚刚凑合使用。
pupboss
2021-11-02 18:34:46 +08:00
还是有的,我以前也以为 8GB 就够,直到最近爆出来 mac 电脑 SSD 磁盘读写的问题

特地做了个监控,刚开机的时候,16GB 内存就能用到 7GB 了,打开 chrome 之后就到 8GB ,开零零散散几个抓包工具,git 工具,聊天软件,日历,笔记本,就已经 9.3GB 了,然而这时候都还没开始干活

如果再打开一两个 IDE 的窗口,多开几个浏览器页面,基本上分分钟占满内存开始用 swap 了,我这边看 swap 能用到 6GB ,自认为算是很轻度的开发了

所以 16GB 应该对于绝大多数来说是刚好够用(其实 Big Sur 以前系统本身没这么吃内存),为了未来扩展能力还是建议 32GB

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/812160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX