mac的8G等于windows的16G么?简单探讨一下。
本帖最后由 我輩樹である 于 2023-11-13 16:06 编辑最近看到这个有点爆论的话题,想说点什么觉得这个问题两面性太严重了,所以做个简单的实验来对比一下。
第一个实验,mac会不会在操作系统和硬件体系下比windows更节省主观能看到的内存容量。
这里有两台笔记本,一台是升级了96GB内存的枪神7(很遗憾内存频率只能跑在5200),另外一台是刚刚被背刺的m2max顶配。
虽然都是96GB内存,但mac的内存带宽比枪神足足高4倍有余,不过本测试和这个无关。
现在的各类软件设计的都非常先进,想测试一个内存占用属实不容易,这里还是采用使用chrome打开youtube首页的方式进行。
为了防止chrome缓存数据和懒加载页面,在关闭缓存后直接开100个独立chrome进程而非100个标签页(经过后面的测试发现其实没什么区别,懒加载省的是计算和渲染,内存占用没有显著变化)。
测试结果有些意外,windows下比mac还要节省6GB左右的内存。
当然这可能只是操作系统在内存耗尽之前调度机制的不同。
第二个实验,mac在内存耗尽的时候会不会有什么神奇的机制触发从而保证系统正常运行用户无感呢?
这个问题是8GB的macbook是否能当16GB的windows笔记本用的核心。但鉴于能力有限,我没法评价,因为我确实找不到8GB的windows笔记本。
但我确实有这么一台8G的macbook air m2冤种电脑[雷人]!哈哈?问题还是可以探讨一半。
试一下在这个笔记本上能否开启100个chrome页面。
测试进行的比较缓慢,在打开了大概45个页面的时候,响应速度已经到了我能忍受的极限,平均一个页面需要20秒或更多,打开到55个页面的时候,系统打开页面的时间到达了60秒,但系统仍然保持可操作。
可以看到系统大量使用缓存,因为这个原因速度下来了。
可见在内存耗尽后,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/
import math
import time
import psutil
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
# 屏幕分辨率,按照实际分辨率修改,缩放也需要改成1
screen_width = 3456
screen_height = 2234
# 网格大小(10x10)
grid_rows = 10
grid_columns = 10
# 计算每个窗口的大小
window_width = math.floor(screen_width / grid_columns)
window_height = math.floor(screen_height / grid_rows)
before_memory = psutil.virtual_memory().used
options = webdriver.ChromeOptions()
options.add_argument('--incognito')# 使用无痕模式,该模式下默认禁用缓存
options.add_argument('--disable-cache')# 显式禁用缓存
# options.add_argument("--start-minimized")
# macOS
chromedriver_path = './chromedriver'
# windows
# chromedriver_path = './chromedriver.exe'
target = 'https://www.youtube.com/'
service = Service(executable_path=chromedriver_path, options=options)
for i in range(grid_rows):
for j in range(grid_columns):
# 创建新的浏览器实例
browser = webdriver.Chrome(service=service)
# 计算窗口位置
x_position = j * window_width
y_position = i * window_height
# 设置窗口大小和位置
browser.set_window_size(window_width, window_height)
browser.set_window_position(x_position, y_position)
# 打开URL
browser.get(target)
# browser.execute_script("window.open('" + target + "', '_blank')")
time.sleep(10)
after_memory = psutil.virtual_memory().used
cost_memory = after_memory - before_memory
print(cost_memory)
input()
上传了2段视频,一段是windows打开100个chrome窗口后,系统长时间卡顿的情况。
https://www.bilibili.com/video/BV1CQ4y187FP
第二段,打开中的对比。
https://www.bilibili.com/video/BV1wH4y1q7u1/ 本帖最后由 xy. 于 2023-11-13 15:59 编辑
苹果整套东西的特点就是弱化硬件参数, 使用体验好就行了, 看不爽可以不买
虽然你测来测去确实挺累的, 但你这个结论本身不说合不合理吧, 和网上那些果粉的主流言论没有任何区别.. swap太频繁会影响SSD寿命吧[偷笑] 感谢分享测试,想问苹果这么高的内存带宽有什么实际应用能体现出来了?目前ddr5比ddr4多一倍的aida64测试速度也很难体会到日常软件加载导出渲染和游戏fps上。到苹果这更夸张了,然而在哪种应用上有突飞猛进的提升呢 gladiator 发表于 2023-11-13 16:01
swap太频繁会影响SSD寿命吧
好像以前有爆出过SSD寿命问题,当时吓得我看了下服役八年的MBP,看了下SSD已经188PE了
这是一个比较典型的用vscode进行远程开发,同时打开15个浏览器页面,微信,qq,音乐,ppt和pdf软件以及ssh终端的工作负载
我想这已经是一个非常不吃硬件性能,完全符合苹果macbook pro 定位的工作负载了
然而显存已经用了4G+,内存14G+,我不懂8G mac哪来的本事吃得下去的,还是他认为这个价位的macbook pro 干不了这样的活 我的使用情况:8+256丐版M1,主要启动outlook,微信,Chrome开20个左右标签页,然后打开QQ摸鱼,翻各个群的聊天记录,大概翻个两三百条内存压力就黄了,CleanMyMac也会报内存不足,这个时候就有点卡了,尤其是这时候再打开那种打包转发的十几二十张图片,会很卡,偶尔QQ还会无响应 就和IPHONE一样,相较其它机器内存是小,但是一般使用无感 chenyic 发表于 2023-11-13 16:02
感谢分享测试,想问苹果这么高的内存带宽有什么实际应用能体现出来了?目前ddr5比ddr4多一倍的aida64测试速 ...
我是用来搞大语言模型研究的。其他应用可能视频预览用的上。 重点是真的会有人信[偷笑] 主要是现在SSD速度快,页面文件放上面,读写速度快,所以内存快用尽了也不大感觉的出来。 啊,真有人测啊,很明显指的是那部分购买用户用不到16G的内存所以才导致8G和16G体验基本相等 xiaojacky 发表于 2023-11-13 16:34
使用体验上8G的与16G的相仿
这个不确定。但肯定比windows的8G要舒服。这也是它敢卖8G的原因。不过这个问题不如说是windows没有物尽其用的问题。 我是不信苹果的时间效率或者空间效率比windows能高一倍。偶尔的特定情况除外。买了就安心用,没买的人,就不是苹果的目标冤种。[偷笑]https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif 8g都是给体验吃灰党的,比如我自己。正常的果子用户一般都16起步了[偷笑] ibud 发表于 2023-11-13 16:35
主要是现在SSD速度快,页面文件放上面,读写速度快,所以内存快用尽了也不大感觉的出来。 ...
windows更加喜欢用页面文件,感觉是不是被内存党逼出来的。mac下面内存没用完页面文件就是0。 说实话,win已经是对内存优化很好了
说mac8g相当于win16g,纯属洗脑/pua 一般用户,8g确实够用。苹果我猜,有个很明确的专业用户和非专业用户的区分,如果专业用户16g就可以用而都买丐版,那苹果怎么从他们身上赚到钱呢?这样丐版就没有存在的必要了。
其实就是同样8G苹果肯定比win舒服,出现卡的机会少。但是在吃内存应用面前人人平等。 不同系统架构对硬件利用率也有所不同当然也是个客观事实,我也觉得OS X再怎么优化也不太可能8G堪比WIN16G那么夸张。
这个问题手机上表现得更明显一些,安卓不管多少G,实际体验确实就是不如IOS用得流畅,舒服……
实际上这些都不重要,与其纠结这些软件上的问题,不如问问苹果为啥再加根8G内存为啥那么难那么贵…… 本帖最后由 zhuifeng88 于 2023-11-13 17:12 编辑
我輩樹である 发表于 2023-11-13 16:49
windows更加喜欢用页面文件,感觉是不是被内存党逼出来的。mac下面内存没用完页面文件就是0。 ...
不是, 这个单纯是windows默认以你需要意外发生时的内存dump为前提考虑的, 至少也是minidump, 而mac默认不给这个, 类似的事情不仅是这方面, mac文件系统sync都做成了实际不sync, (另外给了一个非标准的sync会实际落盘), 有充分的测试证据表明mac会在掉电的情况下丢失标准的sync操作之前发生的应当已经落盘的数据 用过8G和16G的mac 差距天差地别,16G的win基本上没什么瓶颈 DDR 5 6400双通道 内存带宽已经有90GB/s了,M3是150G,D5的延迟要比M小很多,而且还要给显卡共享。win本配个3060,显卡独占288 GB /s的带宽。 苹果全家桶用户在此表示:
macOS整体技术确实跟windows还有较大差距,但是也有独特的优点:
1、操作确实简单,但是也意味着功能偏少;
2、Unix系统自带终端,便于学习unix/linux
M1 Max 32G
Android App开发,多次编译久了以后,感觉内存就会错乱了,有时候所有打开的应用都会受到影响,花屏、显示不全等等。重启后解决,以前用intel的Mac从来没遇到过类似问题。偶尔会怀念windows.... 本帖最后由 yugu91 于 2023-11-13 17:59 编辑
2015年window转投mac,M1 8G乞丐版首发买的,平时开发app,如果在相同8000预算的价钱上,我不后悔选择m1
苹果带来的稳定不是window能比的,
打比方1万块工资和5千块工资看你怎么用,
现在我基本不会使用模拟器开发,直接接真机,调试兼容性的时候可以使用模拟器,其实也不卡,只是机器会热,
Android studio 绝对不用,用vscode,新的Flutter项目, 连iOS端都可以vscode开发 现在这台电脑已经完全能满足我的使用场景
第一台MacBook pro 2015用了5年,卖给我表弟2000,苹果带来的是超长的稳定周期和折旧比,
我也买了一台惠普暗夜精灵9给我孩子,4个月就去保修了,要么就是window莫名其妙的bug,
Mac 8g 和 window 16g,我还是选择Mac 8g
但是现在,一台m3卖1万5,我第一反应是下一台机一定是二手~ 个人感受是:差不多的使用场景下,同样16g的Mac和win,Mac很快就内存占完开始卡了,win要好不少。Mac偶尔会屏幕花一块,只能重启解决,不是我一个,身边大家都一样,win倒是没碰过这个问题 不同的操作系统之间,内存的使用效率在不同的应用场景下肯定是不同的。这个很难比较一个优劣出来。内存压缩的确是macOS先于Windows推出的,但是现在都有了。
作为一个macOS和Windows同时频繁用的人,说一个8G等效与另外一个16G,绝对是扯。apple说这话的人是个营销人员,大家别为他嘴里的火车浪费时间了。