找回密码
 加入我们
搜索
      
查看: 23787|回复: 68

[内存] mac的8G等于windows的16G么?简单探讨一下。

[复制链接]
发表于 2023-11-13 15:48 | 显示全部楼层 |阅读模式
本帖最后由 我輩樹である 于 2023-11-13 16:06 编辑

最近看到这个有点爆论的话题,想说点什么觉得这个问题两面性太严重了,所以做个简单的实验来对比一下。

第一个实验,mac会不会在操作系统和硬件体系下比windows更节省主观能看到的内存容量。

这里有两台笔记本,一台是升级了96GB内存的枪神7(很遗憾内存频率只能跑在5200),另外一台是刚刚被背刺的m2max顶配。

虽然都是96GB内存,但mac的内存带宽比枪神足足高4倍有余,不过本测试和这个无关。

现在的各类软件设计的都非常先进,想测试一个内存占用属实不容易,这里还是采用使用chrome打开youtube首页的方式进行。

为了防止chrome缓存数据和懒加载页面,在关闭缓存后直接开100个独立chrome进程而非100个标签页(经过后面的测试发现其实没什么区别,懒加载省的是计算和渲染,内存占用没有显著变化)。

微信图片_20231113135626.jpg 微信图片_20231113135630.jpg 微信图片_20231113135618.jpg

测试结果有些意外,windows下比mac还要节省6GB左右的内存。
微信图片_20231113135556.jpg 微信图片_20231113135603.jpg
微信图片_20231113135608.jpg 微信图片_20231113135613.jpg

当然这可能只是操作系统在内存耗尽之前调度机制的不同。

第二个实验,mac在内存耗尽的时候会不会有什么神奇的机制触发从而保证系统正常运行用户无感呢?

这个问题是8GB的macbook是否能当16GB的windows笔记本用的核心。但鉴于能力有限,我没法评价,因为我确实找不到8GB的windows笔记本。

但我确实有这么一台8G的macbook air m2冤种电脑!哈哈?问题还是可以探讨一半。

试一下在这个笔记本上能否开启100个chrome页面。

测试进行的比较缓慢,在打开了大概45个页面的时候,响应速度已经到了我能忍受的极限,平均一个页面需要20秒或更多,打开到55个页面的时候,系统打开页面的时间到达了60秒,但系统仍然保持可操作。

可以看到系统大量使用缓存,因为这个原因速度下来了。
微信图片_20231113143615.jpg 微信图片_20231113143623.jpg

可见在内存耗尽后,mac其实也没什么魔法,就是不停的swap到磁盘上。

最后想说一下我的个人观点

从数值上来看,mac大多数时候确实比windows更耗费内存,比如安卓模拟器qemu,在windows下只需要1G左右的内存,但在mac下却需要4G。
另外转义的程序也更加需要内存。windows下仅需要1.8G左右内存的fusion360,mac下需要3.5G左右。

有趣的是,主观感受却和数值相差甚远。8G的内存进行安卓开发或fusion360建模,虽然启动的时候慢了点,但在使用的时候基本系统不会冻结,响应也很迅速。这个在windows下怎样呢?不好评价。

我当然不推荐买8G版本的mac,但我想说的是,买了mac就好好用,别纠结这些数值了,实际情况肯定要好很多。纠结数值那是windows的事。

代码在这里,欢迎8G/16G内存的朋友测试一下。

需要下载一个和自己的chrome匹配的webdriver放在同一个目录下:
https://googlechromelabs.github.io/chrome-for-testing/


  1. import math
  2. import time
  3. import psutil
  4. from selenium import webdriver
  5. from selenium.webdriver.chrome.service import Service

  6. # 屏幕分辨率,按照实际分辨率修改,缩放也需要改成1
  7. screen_width = 3456
  8. screen_height = 2234

  9. # 网格大小(10x10)
  10. grid_rows = 10
  11. grid_columns = 10

  12. # 计算每个窗口的大小
  13. window_width = math.floor(screen_width / grid_columns)
  14. window_height = math.floor(screen_height / grid_rows)

  15. before_memory = psutil.virtual_memory().used

  16. options = webdriver.ChromeOptions()
  17. options.add_argument('--incognito')  # 使用无痕模式,该模式下默认禁用缓存
  18. options.add_argument('--disable-cache')  # 显式禁用缓存
  19. # options.add_argument("--start-minimized")

  20. # macOS
  21. chromedriver_path = './chromedriver'
  22. # windows
  23. # chromedriver_path = './chromedriver.exe'

  24. target = 'https://www.youtube.com/'
  25. service = Service(executable_path=chromedriver_path, options=options)

  26. for i in range(grid_rows):
  27.     for j in range(grid_columns):
  28.         # 创建新的浏览器实例
  29.         browser = webdriver.Chrome(service=service)

  30.         # 计算窗口位置
  31.         x_position = j * window_width
  32.         y_position = i * window_height

  33.         # 设置窗口大小和位置
  34.         browser.set_window_size(window_width, window_height)
  35.         browser.set_window_position(x_position, y_position)

  36.         # 打开URL
  37.         browser.get(target)
  38.         # browser.execute_script("window.open('" + target + "', '_blank')")

  39. time.sleep(10)

  40. after_memory = psutil.virtual_memory().used

  41. cost_memory = after_memory - before_memory

  42. print(cost_memory)

  43. input()
复制代码
 楼主| 发表于 2023-11-13 18:16 | 显示全部楼层
上传了2段视频,一段是windows打开100个chrome窗口后,系统长时间卡顿的情况。


第二段,打开中的对比。

点评

win和mac的双方配置说下吧。  发表于 2023-11-14 14:29
 楼主| 发表于 2023-11-15 14:49 | 显示全部楼层
tedsun 发表于 2023-11-15 10:49
原来树导也用selenium。我前两天Chrome突然在网页上什么都搜不到了,折腾半天无果,换edge就正常。不懂啥问 ...

当年还是码农的时候搞自动化测试经常用这个。
发表于 2023-11-15 13:51 | 显示全部楼层
jimmystar 发表于 2023-11-13 16:30
就和IPHONE一样,相较其它机器内存是小,但是一般使用无感

无感什么啊....相机一开后台基本全凉了
发表于 2023-11-15 13:48 | 显示全部楼层
jimmystar 发表于 2023-11-13 16:30
就和IPHONE一样,相较其它机器内存是小,但是一般使用无感

差别大了。iPhone内存小,后台应用疯狂杀,一切换就重载,进度全丢,非常难受好吧
发表于 2023-11-15 10:49 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-11-15 07:57 来自手机 | 显示全部楼层
LeXeR 发表于 2023-11-14 22:32
Mac的8GB内存价格和96GB内存价格一样,所以应该对比的是Mac下的8GB是否等于Windows的96GB ...

看起来非常合理233
发表于 2023-11-15 07:48 | 显示全部楼层
fgfdhgg 发表于 2023-11-14 22:30
但是问题在于,你这套说法在入门版本的macbook或者macmini上说得通
可是一万三的MacBook pro完全不在这个 ...

MacBook pro只瞄准专业用户?嗯,这也是pro的意思,库克还是想卖啊
发表于 2023-11-14 22:45 | 显示全部楼层
LeXeR 发表于 2023-11-14 22:32
Mac的8GB内存价格和96GB内存价格一样,所以应该对比的是Mac下的8GB是否等于Windows的96GB ...

貌似也没毛病,哈哈
发表于 2023-11-14 22:32 | 显示全部楼层
Mac的8GB内存价格和96GB内存价格一样,所以应该对比的是Mac下的8GB是否等于Windows的96GB
发表于 2023-11-14 22:30 | 显示全部楼层
fkpwolf 发表于 2023-11-13 16:51
一般用户,8g确实够用。苹果我猜,有个很明确的专业用户和非专业用户的区分,如果专业用户16g就可以用而都 ...

但是问题在于,你这套说法在入门版本的macbook或者macmini上说得通
可是一万三的MacBook pro完全不在这个说法能解释的范围内
发表于 2023-11-14 16:11 | 显示全部楼层
除了从NVME把页面倒回内存的时候M3 MAC 8GB的大内存留给固态读写的带宽会更大之外,想不出任何一个场景大内存带宽能缓解内存容量的不足的问题。 你这测试结果和后边的分析也基本和猜想相符,8GB的Mac即使假死卡顿确实会少于Windows,但是说能应付6楼说的远程编程,同时开浏览器上网,开多个PDF/PPTX/DOCX查阅资料,在线流媒体听音乐的需求,那就是纯扯淡了。

如果做过移动平台商业开发,苹果M3 8GB MBP的定位其实很简单。就是一台给M3处理器开发应用用的基础测试开发平台本,类似于安卓的Nexus系列手机以及每代iPhone都有的超低配iphone。 这个场景的典型特性就是往往只需要同时测试一款应用,所以内存少,机内存储小都不是问题,只要CPU是目标标准架构,能支持需要的软件平台正常运行即可。
发表于 2023-11-14 15:36 | 显示全部楼层
理论上arm64需要更多内存吧 但是macOS优化确实会比win流畅
无知是一种幸福 我妈用8g很开心 但是我看到内存压力变黄就焦虑只能含泪加黄金内存
发表于 2023-11-14 14:39 | 显示全部楼层
其实测一下8G M3 和 16G Win 对比下就好了
发表于 2023-11-14 14:27 | 显示全部楼层
对于轻量级使用,浏览网页,用用普通的office软件等工作,8G其实也够了(说实话这种使用场景,Win也没问题)。但对于笔记本来说,macOS(Apple silicon)本子的续航和噪音控制完爆几乎所有Win本子。对于能习惯使用macOS的人来说,在这种使用场景下,用mac肯定体验更好。当然了,mac就是贵,对于8G内存还卖这个价格确实不厚道。但是资本主义经济学早就阐明了,在充分竞争的市场中,一个商品的价格取决于其供求关系,使用macOS系统的电脑唯独Apple一家,只要有足够的用户买单,它就定这个价,也没啥好说的。觉得值得人自然会去买,觉得不值得人不买就行了。
发表于 2023-11-14 14:19 | 显示全部楼层
反正我的16g m1pro基本上正常打开游览器加邮箱和挂qq,微信再打开个qq音乐之类的已经差不多14g了!
发表于 2023-11-14 13:54 | 显示全部楼层
宣传嘛,都是尽量夸自己的技术,你说他说的不对吗?人家也没说什么场景下呀,这些销售的话术还不懂吗?还真老老实实去测,也就是闲的。而且不同平台你用第三方软件测试怎么都有话说。亲儿子和认的干儿子能一样么?
发表于 2023-11-14 13:37 | 显示全部楼层
zzcghost 发表于 2023-11-14 10:08
这个标题本来就是伪命题。不同的应用场景体验肯定不一样。
除开游戏不谈
大家都用到内存小于8G的应用,体验 ...

这个变量控起来比较难。
碰到有些场景苹果的架构可能直接嗝屁。
譬如8G内存 跑个2077
发表于 2023-11-14 12:48 | 显示全部楼层
巧妇难为无米之炊 管你什么os 一个维度的横测你是不可能得到跨维度结果的。。。
不可否认大带宽确实是加分项 但是利用价格划分等级也是客观事实。。。


愚见以为 至少应该等win12+mtl/arl再来做横测 方为"公平"。。。
发表于 2023-11-14 12:47 | 显示全部楼层
8g如果等于16g,水果早给你上4g了
就8g水果跑的应用,8g的win一样跑的飞快
至于爆内存mac比win更不卡那就更搞笑了,用win的穷到差这几十块钱吗?
 楼主| 发表于 2023-11-14 11:47 | 显示全部楼层
微信图片_20231114114625.jpg

居然在黑叔叔那里找到了一台8GB的笔记本。。。跑了下安卓模拟器,结果一言难尽温暖人心。
发表于 2023-11-14 10:31 | 显示全部楼层

大佬什么时候搞出自己的贾维斯了 分享一份呗
 楼主| 发表于 2023-11-14 10:30 来自手机 | 显示全部楼层
Ownab 发表于 2023-11-14 08:56
大佬研究的怎么样   人类可能会被AI统治嘛?

那是肯定的。
发表于 2023-11-14 10:27 | 显示全部楼层
8G=16G就是不想多花那1500安慰自己的借口
发表于 2023-11-14 10:16 | 显示全部楼层
ibud 发表于 2023-11-13 16:35
主要是现在SSD速度快,页面文件放上面,读写速度快,所以内存快用尽了也不大感觉的出来。 ...



你要是这么说 Mac下一步就直接取消内存了

改宣传位 256G 超大内存了

存储分级 就是速度越快越贵
发表于 2023-11-14 10:08 | 显示全部楼层
这个标题本来就是伪命题。不同的应用场景体验肯定不一样。
除开游戏不谈
大家都用到内存小于8G的应用,体验macos 肯定要好。
当用到8G内存以上,只要ssd性能差不多情况下,mac肯定要增加cpu和io的开销。体验肯定16GB更好。
要比较应该是同价格去比较。



发表于 2023-11-14 09:38 | 显示全部楼层
赫敏 发表于 2023-11-14 09:08
但你想把数据给GPU就不是90GB/s也不是288GB/s了,而是pcie4*16的32GB/s

就从现在雷电4外置显卡来看3060这级别的卡,从32G/s,砍到4G性能损失不大,包括4090也在用这个32G的pcie连接速度,可见gpu和cpu这个传输速度没有瓶颈。
发表于 2023-11-14 09:30 | 显示全部楼层
evangelion_air 发表于 2023-11-13 16:18
这是一个比较典型的用vscode进行远程开发,同时打开15个浏览器页面,微信,qq,音乐,ppt和pdf软件以及s ...

自从知道mac可以找人重新焊ssd后,就不在意ssd的读写和容量了
发表于 2023-11-14 09:26 | 显示全部楼层
小内存,后台程序不能多。
也许用果子的很少很多后台程序吧
发表于 2023-11-14 09:12 | 显示全部楼层
首先8g肯定不等于16g,但macos 8g的体验未必比win本16g的差。
对于轻度使用的人,平时开几个网页,看看视频,偶尔编辑下文档,盒盖就走,开盖即用,m1的8g都流畅得很,更别看现在的m2 8g和m3 8g了。而且还不用忍受win本垃圾般的做工,灾难般的睡眠/休眠体验,糟糕的续航。就算是卖二手,macbook也比同时期的本子保值。
网上喷8g的,说白了,就是觉得贵,恨不得苹果卖4999,等到卖4999又会说苹果要完,就卖这么点钱了。所以别在意那些喷子的话,他们是为了喷而喷,他们的生活就是要喷的。
想买又觉得贵的,m3出来买m2/m1就是了,苹果的东西隔一两代体验区别不大。
发表于 2023-11-14 09:08 | 显示全部楼层
caoyuxin 发表于 2023-11-13 04:11
DDR 5 6400双通道 内存带宽已经有90GB/s了,M3是150G,D5的延迟要比M小很多,而且还要给显卡共享。win本配 ...

但你想把数据给GPU就不是90GB/s也不是288GB/s了,而是pcie4*16的32GB/s
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-7-19 21:30 , Processed in 0.015893 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表