V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
helloworld000
V2EX  ›  Apple

抛砖引玉讨论一下 m1 最多支持 16g 内存是否够(操作系统+计算机体系机构)

  •  
  •   helloworld000 · 2020-11-11 11:08:24 +08:00 · 17263 次点击
    这是一个创建于 1264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没看发布会之前,随手看了下 tech spec,m1 只支持 16g 内存,第一感觉内存不够用。

    因为自己从一开始的 8g 一下跳到 64g 后感觉就回不去了。。。

    看了发布会后,感觉自己有点杞人忧天了。随便记录一下自己的想法说的不对欢迎指正(涉及一些操作系统+计算机体系机构的知识,因为本科的东西了,特别体系机构这些可能也有记错)

    1. m1 芯片最大的性能优势,应该就是把所有其他内存以及其他性能相关 (enclave, image and ml/neural....)的 alu 都集成到芯片上去了。这样使得 datapath 和 controlpath 能够更快的响应对应的 ISA (对比之前需要 ISA 去走计算机的“物理”内存)

    2. 要知道,现在的操作系统都是虚拟内存了,也就是说即使你现在没那么多内存,操作系统的内核也可以将一部分内存地址 swapping 到 disk 里去用。再简单点说就是即使你只有 4g 内存,只要你的硬盘空间够,你的操作系统也能继续跑你的那些应用(很多人说内存不够 crash 是因为你磁盘空间不够),只是你那些应用的速度会变很慢(因为此时已经是对磁盘的读取而不是内存)

    所以,回到 m1 的 air 和 mini,我感觉 16g 内存确实还真的够了。理由:

    1. 前面说了,因为内存连 4g 都能跑系统,真正影响的是你的读写速度和体验。但是,因为 m1 芯片前面已经把很多该需要的 alu 都已经集成到芯片里去了,也就是说即使出现虚拟内存不够的情况,需要从 swapping 虚拟内存地址到 disk 里,速度也之前用 intel 时候的时候更快,因为没有那些相应优化过的 alu

    2. apple 官方说的性能比之前的各种更快,我估计应该是对比同样内存大小的 air 或者 mac-mini 做的比较。这里很大一部分性能的提升应该都是在 m1 的 I/O 上,他们做 benchmark 的时候,应该也做了超出内存的 benchmark,也就是即使出现内存不足读写磁盘,也比之前更快。当然这也很大程度因为更快的固态硬盘和更好的 controlpath (发布会里也提了这点)

    唯一的不足估计就是 arm 下的生态了,那这个确实苹果没办法,只能等了。

    所以结论 m1 确实很香,想要完美体验,就等 m2 吧 😂

    第 1 条附言  ·  2020-11-11 12:37:19 +08:00
    前面说的可能有点啰嗦,精简一下:指令集的优化,能让操作系统更少依赖内存的使用。可能之前需要 32g 的,现在只要 16g 就行了,之前 16g 的,现在只要 8g 也能一样的效果
    128 条回复    2020-11-13 09:16:38 +08:00
    1  2  
    IgniteWhite
        101
    IgniteWhite  
       2020-11-11 23:15:49 +08:00
    不要吵架
    namelosw
        102
    namelosw  
       2020-11-11 23:19:02 +08:00
    我理解这个内存大小不能按传统架构理解. 有可能 16G 可以接近 32G 表现?

    不过不试一下真不知道, 平常 32G 都不够用, 不看到测评是不可能买的.

    不过这个改法, 好奇过两年 MacMini 会不会可以装到口袋里. 这样的话还挺期待的.
    xieshaohu
        103
    xieshaohu  
       2020-11-11 23:37:43 +08:00
    这个还是苹果自己设计的问题吧。ARM 架构的 Ampere Computing (云计算厂商)发布的 ARM 架构的 CPU128 核心,4TB 内存
    lixintcwdsg
        104
    lixintcwdsg  
       2020-11-11 23:53:56 +08:00
    够用应该还是不够的,但是芯片面积大良品率直线下降是有可能的,比如一些 8G 的可能是 16G 屏蔽而来的也说不定。
    本身这种所谓的一体化内存,只能节省一些 IO 时间,比如 CPU 读网卡缓冲区数据,过去是网卡缓冲-》操作系统内存-》进程内存,现在因为寻址空间统一,网卡可以直接分配内存的不需要自己准备缓冲区了(很小),然后系统中断等等这块可能减少了流程性能有提高,但是不会省内存。
    lixintcwdsg
        105
    lixintcwdsg  
       2020-11-11 23:55:23 +08:00
    本质上,其余应用过去占内存比较大,都依然是内存需要那么多,同样的 map 结构体 字符串 读写缓存大小都是不会变的对于程序而言,那么需要的内存也不会变
    sw0rd3n
        106
    sw0rd3n  
       2020-11-12 00:08:15 +08:00 via iPhone
    指令集优化解决不了内存压力,cache miss 该有的还是会有。要么不用那么多内存,要么加内存。
    reus
        107
    reus  
       2020-11-12 00:56:17 +08:00
    @lixintcwdsg 内存颗粒是独立的,不存在屏蔽不屏蔽的,8G 就放单颗 8G 的颗粒,或者两颗 4G 的,官网说得很清楚。
    另外,现在的网卡就有支持 DMA 的,而且,M1 没有说自带网络控制器。
    架构和现在的一模一样,内存是独立的颗粒,只不过放在 CPU 旁边,不是在同一块硅片上。
    tianshilei1992
        108
    tianshilei1992  
       2020-11-12 01:35:18 +08:00
    我不明白为什么 CISC 需要 32GB 而到了 RISC 这边 16GB 就够了?
    WebKit
        109
    WebKit  
       2020-11-12 02:37:34 +08:00 via Android   ❤️ 2
    @helloworld000 Android iOS 能证明啥啊,iOS 假后台,你笔记本也要弄假后台啊?同时只能运行一个任务啊
    neoblackcap
        110
    neoblackcap  
       2020-11-12 03:05:23 +08:00
    @helloworld000 我看到你标题说的操作系统以及体系结构,我看后就纳闷了,你为啥要吧虚拟内存跟交换空间混为一谈?
    我还以为你是要分析 UMA 呢。交换空间够用的话,你大概是没有遇到过 mac 用光了内存,系统不断换页的情况。那不重启还行?
    neoblackcap
        111
    neoblackcap  
       2020-11-12 03:09:56 +08:00   ❤️ 1
    @tianshilei1992 我都不明白为什么标题里面有体系结构以及操作系统,为什么通篇还是主观臆测。
    就 arm 还能更省内存,大概这个 arm 已经被被苹果魔改到比 x86 还复杂的地步吧。可能一条指令能顶 x86 四条指令
    helloworld000
        112
    helloworld000  
    OP
       2020-11-12 05:10:57 +08:00
    @neoblackcap 我有过内存用光的情况啊,64g 的内存都用完了,跑到后面磁盘空间都满了然后程序挂了。

    为什么通篇都是主观臆测,因为我也没有实际数据只能大家一起来讨论
    bonfy
        113
    bonfy  
       2020-11-12 06:12:59 +08:00 via iPhone
    @hello2060 #7

    至今用过的都说好

    这句话没毛病吧 只有内部人用过
    musi
        114
    musi  
       2020-11-12 07:58:24 +08:00
    啊。。。这。。。这是神话么,要是 m1 真能把 16g 内存提升到 64g 的体验,苹果再把芯片用到服务器领域这不赚翻了么
    ipadpro4k
        115
    ipadpro4k  
       2020-11-12 08:54:16 +08:00 via iPhone
    @murmur #1 别瞎扯了,我 2013mbp,8G 内存,还不是同时开 mac,win10,2 个 utuntu 搞嵌入式,也没觉得卡
    wanguorui123
        116
    wanguorui123  
       2020-11-12 09:03:48 +08:00 via iPhone
    只能说明新的 macOS 的虚拟内存交换算法很厉害,内存压缩算法也很厉害,NVMe 硬盘 IO 很给力。说白了就是抠搜,通过内存算法优化节约硬件成本。
    mengzhuo
        117
    mengzhuo  
       2020-11-12 09:38:15 +08:00
    一粉顶十黑

    学过点计算机知识的都不会说出这种话,还计算机出身?别出来丢人了。
    arm 那定长指令还节省空间?
    ALU 是什么东西你知道么?
    内存快要 L1 、L2 、L3 cache 做什么?封在一个 SOC 里就敢叫自己 cache ?
    swap 更加槽点满满……懒得吐槽了
    ychost
        118
    ychost  
       2020-11-12 10:38:23 +08:00
    13 寸的 19 款 mbp 16G 感觉内存不够,但是我台式机 i7 8700+16G 却很流畅,内存是够的
    ychost
        119
    ychost  
       2020-11-12 10:38:43 +08:00
    @ychost 台式机是黑苹果
    MinonHeart
        120
    MinonHeart  
       2020-11-12 10:48:21 +08:00
    没有独立显存,16G 内存够毛线。
    之前台式机用的集显+16G 内存,天天爆内存。
    yangyaofei
        121
    yangyaofei  
       2020-11-12 10:48:43 +08:00
    swap ? 难道不知道 swap 大内存小,内存使用量上去后操作系统的 swap 会抖动么.卡到什么都动不了.SSD 阵列也救不了

    桌面使用 chrome 开 23 十个页面就没了,更别提用个 IDEA 之类的东西,怎么着 m1 的 1k 内存顶别人 10k?钙中钙么?

    写过程序?内存里的只有指令?数据天上掉下来的?真要扣,复杂指令集需要 N 条指令完成某个功能,精简指令集少于 N?学过体系结构没有?精简意味着很多功能需要更多的指令才能完成,只不过是指令之间复用的更多.

    别洗了,有毛用啊,没 16G+(现在的环境下)根本没法买,32+之后才有比较强的欲望买
    yangyaofei
        122
    yangyaofei  
       2020-11-12 10:49:48 +08:00
    @xieshaohu #103 我觉得 更可能是因为省电和集成在一起
    neoblackcap
        123
    neoblackcap  
       2020-11-12 11:14:56 +08:00
    @helloworld000 那请问你是怎么得出 swap+小内存可以顶替大内存的结论?
    你的体系结构的老师是这样教你的?还是说苹果改变了冯诺依曼体系?用更慢更低的一级存储替代了更快一级的存储?如果有就这功力啊,我觉得美国国防部接下来的超算单子就应该给苹果去做。
    arm 是 RISC,就凭这个根它就不可能比是 CISC 的 x86 更省内存。
    我建议发言之前真的复习一下功课,不要犯这些常识性的错误,不要硬洗。
    你说它 UMA 导致 draw call 变得廉价,图形性能大幅提升也没有人说你。
    ztaosony
        124
    ztaosony  
       2020-11-12 11:19:29 +08:00
    如果果粉都像楼主这样,估计下代产品内存得 4G 起步了
    neoblackcap
        125
    neoblackcap  
       2020-11-12 11:32:49 +08:00
    @lixintcwdsg 你以为内存是同一款 die 切出来的啊?内存只是粘在上面的而已,一样是去采购的。哪有什么良品率问题啊?
    你说硬件不用自己的缓冲区?你的理解是错的,只是操作系统不需要将内存复制多遍而已。其实这技术本身就是有,叫 DMA 。不过 UMA 肯定是会提高性能的,看怎么用吧
    kekeyu
        126
    kekeyu  
       2020-11-12 12:29:04 +08:00
    意思是现在可以云测评了?

    楼主的分析没有数据支撑只是纯理论,但原理是说的通的,这个问题不大。

    但要说原来需要 32G,现在 16G 就够了,这个也太武断了吧。
    Tenlp
        127
    Tenlp  
       2020-11-12 14:47:25 +08:00
    @kekeyu 我觉得楼主可能理论都没有,就是主观臆断.....反倒 @neoblackcap 的回答很详细
    murmur
        128
    murmur  
       2020-11-13 09:16:38 +08:00
    @ipadpro4k 8g 内存微信 qq 一开你内存剩下多少我都持怀疑态度,当然有清流公司不用这些也说不定,你也代表不了多数人
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3128 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:17 · PVG 21:17 · LAX 06:17 · JFK 09:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.