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

[请教] Android AOSP 工作站选择

  •  
  •   oLUCKo · 35 天前 · 3397 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我正在选择个趁手的工作站 , 用于 aosp 学习 & 开发 .

    • 我正在漫无目的的任意查看这些代码 , 任何地方在感兴趣的时候都可能做些修改 .

    目前了解到的只有这两款

    1. Precision 3680
      • 担心 192G 内存非官方支持 , 后续有问题不好处理
      • 如果 128G 内存的话 , 不知道是否会不够用 , 但已经封顶了无法扩展 .
    2. Precision 5680
      • 各方面都肯定够用 , 且有足够的扩展空间 .
      • 如果最终我因为种种顾虑没有找到更(主观)好的选择 , 这是我的兜底方案 .

    如果有大佬可以推荐下自己正在使用的设备和购买渠道, 将十分感恩 .

    类别 Precision 3680 Precision 5680 对比分析
    价格 3W 内 4W 左右 5680 贵 约 30%+
    CPU 选项 i9-14900K (24 核 32 线程) Xeon W7-2475X / W7-2495X (20-24 核 / 40-48 线程) 5680 采用 工作站级 CPU,适合长期高负载任务
    内存插槽 4 个 8 个 5680 内存扩展更大
    最大内存 128GB (官方支持) / 192GB (非官方) 2TB (官方支持) 5680 胜出,适合超大数据处理
    内存类型 DDR5-5600 (非 ECC) DDR5-4800 (支持 ECC) 5680 支持 ECC,稳定性更高
    硬盘插槽 NVMe × 2, SATA × 4 NVMe × 4, SATA × 4 5680 扩展更强
    PCIe 插槽 PCIe 5.0 ×16 (1), PCIe 4.0 ×8 (3) PCIe 5.0 ×16 (2), PCIe 4.0 ×8 (3) 5680 扩展性更强,支持更多 GPU
    显卡支持 单 GPU (最高 RTX A4000) 双 GPU (最高 RTX 6000 Ada) 5680 支持 双显卡
    功耗 最大 750W 最大 1350W 5680 功耗更大,适合高负载环境
    超频支持 支持 不支持 3680 支持超频,适合高主频应用
    ECC 支持 ❌ 不支持 支持 5680 适合 服务器/科研 应用
    适合场景 编程、开发、轻量级建模 3D 渲染、AI 训练、大规模计算 5680 适合 专业工作站

    当前我卡壳的情况是 : 我正在处理的 代码 是 aosp 13

    • 我习惯在 Debian 宿主机上 通过 Docker Ubuntu 完成编译动作 .
      • 我当前设备是 4 核 8 线程 i7 cpu + 32G 内存 + 32G Swap
      • 通过实践我知道 , 实际给到 docker 容器使用的资源 是 6 线程+28G 物理内存(28G Swap)
    • 我可以正常编译通过 . (若干次报错之后)
    • 当我尝试 修改(增加 .h/.cpp 文件) libbase 内的 c++ 代码后 .
      • 我必须 更新 .lsdump 才能继续完成编译动作 . (我的失败动作就发生在这里)
      • $ANDROID_BUILD_TOP/development/vndk/tools/header-checker/utils/create_reference_dumps.py -libs libbase -products aosp_bluejay --build-variant eng
      • 我的失败日志大致有这样几类(我以为可以理解为硬件资源不足)
        • out of memory
        • [signal SIGSEGV: segmentation violation code=0x1 addr=0x24ae30aaf53a pc=0x46477f]
        • unexpected fault address 0x10c0006a6396
        • panic: runtime error: index out of range [549755820000] with length 10413
        • panic: runtime error: slice bounds out of range [8:0]
        • sym 86176: relocation target go.info.*crypto/sha256.digest not defined for ABI0 (but is defined for ABI0)
    41 条回复    2025-03-12 15:21:56 +08:00
    mengzhuo
        1
    mengzhuo  
       35 天前
    我觉得自己掏钱的话,二手工作站就好了
    我攒了个 z4g4 全套差不多 6000 左右,除了跑 llama 内存高点,平时都用不到 50%内存……

    Donaldo
        2
    Donaldo  
       35 天前   ❤️ 1
    内存不足是硬伤,但我亲测 64G 足够了。如果你只做 AOSP ,没必要上志强?不过考虑到 14900k 有缩肛问题,要不要考虑一下 amd 平台?如果不考虑那就志强咯
    MacsedProtoss
        3
    MacsedProtoss  
       35 天前 via iPhone
    这个价格要是是原价 是不是 Mac studio 都有性价比了…尤其是 14900K 那款
    darkengine
        4
    darkengine  
       35 天前
    Android AOSP 现在这么丧心病狂了吗,之前 Android 6 的时候在 32GB 的 ThinkPad 上都能编过 😂
    oLUCKo
        6
    oLUCKo  
    OP
       35 天前
    @MacsedProtoss 个人页很喜欢 mac 的 . AOSP 编译对 X86 有更好的支持 . 所以没法考虑 arm 的 .
    oLUCKo
        7
    oLUCKo  
    OP
       35 天前
    @Donaldo 大佬 , 在 aosp 的高内存占用场景下 , 峰值能占到多少内存呀 ? 我没上过这么大的硬件 , 对此一无所知 .
    murmurkerman
        8
    murmurkerman  
       35 天前
    我之前考虑过笔记本 razer blade 16 扩展到 96gb 内存,不知道性能怎么样。或者可以看下 framework 的 ai max 395 的机器 2000 刀
    HtPM
        9
    HtPM  
       35 天前   ❤️ 1
    公司主机 i5 8600 + 48G 内存,使用 Vmware 虚拟机 Ubuntu 编译 AOSP android12 ,分配的资源是 32G 的虚拟机内存,满核 CPU ,swap 64G ,编译没什么问题打。算把家里的电脑升级成 64G 的。看了下官方,现在最新的建议最低 64G 起步。
    Ayaya233
        10
    Ayaya233  
       35 天前   ❤️ 1
    我自己电脑 32G 内存+32G swap 编译 aosp15 没有问题,真的有必要上这么大内存吗
    oLUCKo
        11
    oLUCKo  
    OP
       35 天前
    @HtPM 是的 64G 打底 . https://source.android.com/docs/setup/start
    A minimum of 64 GB of RAM. Google uses 72-core machines with 64 GB of RAM to build Android. With this hardware configuration, it takes approximately 40 minutes for a full build of Android and only a few minutes for incremental build of Android. By contrast, it takes approximately 6 hours for a full build with a 6-core machine with 64 GB of RAM.
    oLUCKo
        12
    oLUCKo  
    OP
       35 天前
    @Ayaya233 我开始操作 aosp 13 也这么想的 , 直到我做了简单修改后 , 遭遇了 oom .
    zfabl
        13
    zfabl  
       35 天前
    我之前 32G+swap 也可以, 现在 64G 内存编译也是完全够用了, 用的 AMD 7950x
    shijingshijing
        14
    shijingshijing  
       35 天前
    编译用的机器肯定是无脑选 Xeon 或者 EPYC ,标配 ECC 的。
    HojiOShi
        15
    HojiOShi  
       35 天前
    128GB 内存应该够了,另外不考虑自己组装吗?之前我用的 7950X 完整编译 AOSP13 也就半个小时,成本也就一万三四,前年年底装的。现在你要装的话推荐 9950X ,性能更好点。
    huang86041
        16
    huang86041  
       35 天前
    内存 A15 64G 够了,A13 估计 32 也可以.主要在刚开始编译 soong 需要很大的内存,内存不够会一直 swap,很耗时间.
    就是编译一开始的时,内存占用特别大,后面会好一点.
    编译的瓶颈,首先是内存, 然后是 cpu 核心数, 然后是硬盘速度.
    iFlicker
        17
    iFlicker  
       35 天前
    自己攒一个便宜的 EPYC 16 核的要不了两万吧?
    ooh
        18
    ooh  
       35 天前   ❤️ 2
    学习的话 直接阿里云数据盘挂载抢占式实例折扣是不是更省钱一点,现在完整编译一次 android 要几个小时?
    我觉得你可以用我这个方法不同规格的实例试一试,选个折扣低的区域试试,完整编译一次应该花不了几块钱。
    levelworm
        19
    levelworm  
       34 天前 via Android
    二手的工作站便宜啊
    dengjunwen
        20
    dengjunwen  
       34 天前 via Android
    编译了一天了,放着,32G 内存, 确实有点不够, 太久了, 有没有交流群呀
    tootfsg
        21
    tootfsg  
       34 天前 via Android
    我也推荐搞个 9950x 组装个就行了,128 还是 192g 内存都支持,4 条 48g 内存的事,你是花的自己的钱吗。
    Tomatopotato
        22
    Tomatopotato  
       34 天前   ❤️ 1
    @MacsedProtoss AOSP 官方早已经不支持 windows 和 macOS 编译了 现在钦定的系统唯一 ubuntu
    jdjingdian
        23
    jdjingdian  
       34 天前
    我是做 aosp telephony 的

    以我的经验来说,64G 内存就够了,甚至很多同事还用 32G

    显卡没必要配,系统装 ubuntu server 就完事了

    CPU 多核牛逼的情况下单核也尽可能拉上去,固态硬盘可以配个随机读写好一点的,我估摸着这样配 1w 以内都能搞定吧
    guoyijun163
        24
    guoyijun163  
       34 天前
    4 万……足够买一套 EPYC 9654 + 192G + 16T U.2 SSD 的组合了
    Tomatopotato
        25
    Tomatopotato  
       34 天前
    @jdjingdian 你的 U 是啥
    anjingdexiaocai
        26
    anjingdexiaocai  
       34 天前 via Android
    …现在这么猛吗,我记得前两年用 32g 的 ubuntu 就可以编了
    Mandy0
        27
    Mandy0  
       34 天前
    找一下戴尔的渠道商,实际上并没有那么贵
    gam2046
        28
    gam2046  
       34 天前
    只是为了编译 aosp ,配置没什么硬性要求的。内存最低 16G 就可以编译,我自己在 Windows 里,用 docker 编译,峰值内存是用来也没超过 70G ,就这个用量里,还有相当一部分是 Windows GUI 使用的。

    所以如果宿主平台就是 Ubuntu 这种,内存 32G 是完全足够的。而且编译属于 CPU 密集型操作,内存频率的影响并没有那么大,DDR5/DDR4 对于编译的影响,不太是普通人能感受出来的差异。



    至于 CPU 我个人认为也没什么太大的要求,慢也只是第一次编译的时候慢一点,后面都是增量编译,什么 CPU 都不会太慢。

    至于我宿主选择 Windows ,主要是图形化确实 Windows 的表现更好,另外在长时间编译的时候,可以开个游戏玩,静静的等待编译。当然,这个完全属于个人喜好。
    mazz
        29
    mazz  
       34 天前
    目前在做 framework 开发感觉你这个配置要是用来学习有点贵了,分享下公司在用配置机器是联想的工作站 P3 ,编译 Android15 源码( MTK )完整编译完一个半小时差不多,同事还有很多在用联想 P340 的也够用稍微慢一点点,我的配置如图:
    pandaxgc
        30
    pandaxgc  
       34 天前 via iPhone
    @dengjunwen #20 蹲一个交流群
    dengjunwen
        31
    dengjunwen  
       33 天前 via Android
    @pandaxgc 加一个?绿色泡泡软件? a892157958a
    dengjunwen
        32
    dengjunwen  
       33 天前 via Android
    @mazz 第一次编译也这么快吗
    Xunit
        33
    Xunit  
       32 天前
    aosp 自己搓着玩过,编译主要是吃内存,最好 64g 及以上。cpu 核越多越快,如果无品牌信仰个人建议 amd ,性价比高。不建议 Windows 作为主系统,因为哪怕开虚拟机或者 wsl ,磁盘性能折损都比较大。
    个人 amd 4800H ,32g 内存,Arch Linux ,无 ccache 编译 lineageos22 ( Android15 ),耗时大概 8h 。
    LeviMarvin
        34
    LeviMarvin  
       32 天前
    我这台 wsl 跑 aosp 完全没问题:
    _,met$$$$$gg. levi@DESKTOP-36O49C9
    ,g$$$$$$$$$$$$$$$P. --------------------
    ,g$$P" """Y$$.". OS: Debian GNU/Linux trixie/sid on Windows 10 x86_64
    ,$$P' `$$$. Kernel: 5.15.167.4-microsoft-standard-WSL2
    ',$$P ,ggs. `$$b: Uptime: 3 hours, 52 mins
    `d$$' ,$P"' . $$$ Packages: 2350 (dpkg)
    $$P d$' , $$P Shell: bash 5.2.37
    $$: $$. - ,d$$' Theme: Adwaita [GTK3]
    $$; Y$b._ _,d$P' Icons: Adwaita [GTK3]
    Y$$. `.`"Y$$$$P"' Terminal: Windows Terminal
    `$$b "-.__ CPU: 13th Gen Intel i7-13700H (20) @ 2.918GHz
    `Y$$ GPU: 3ab6:00:00.0 Microsoft Corporation Basic Render Driver
    `Y$$. Memory: 691MiB / 57248MiB
    `$$b.
    `Y$$b.
    `"Y$b._
    `"""
    jdjingdian
        35
    jdjingdian  
       32 天前
    @Tomatopotato
    之前公司配的戴尔的工作站,我分到的是 12700K
    levelworm
        36
    levelworm  
       32 天前 via Android
    @HtPM #9
    好奇一把诸位做内核的大佬,公司应用场景是什么?
    mazz
        37
    mazz  
       32 天前
    @dengjunwen #32 就是初次编译 没有配置过 ccache 之类的东西 每次改完增量编译 也就两三分钟就编好,改动 framework 也就十几分钟就增量编译好
    galenzhao
        38
    galenzhao  
       32 天前
    我的 48G 也够 build ,13 ,14 ,15 都可以,
    其实就一开始那个脑残分析编译依赖耗内存,
    后续的真正 compile ,就看你多少并发,我一般限制到 6 个,平均也就 20G 多,不到 30
    MaxLi77
        39
    MaxLi77  
       32 天前
    选 2 或者 EPYC ,1 就纯整活了。大小核跑编译没啥优势。ecc 内存更适合长时间不关机。而且 2 的 pcie 通道数更多,可以解锁更多玩法。
    dengjunwen
        40
    dengjunwen  
       32 天前 via Android
    我要换电脑
    SupperMary
        41
    SupperMary  
       30 天前
    以公司的实践经验来看,志强加 64G 内存加固态,一般就够了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2701 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:48 · PVG 19:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.