上面几个条件和 “CAP” 三个因素类似,又要安静、又要支持 ECC 内存、还要尽量不折腾魔改,还要便宜,所以可选面非常窄。
幸运的是,五六年前由于工作需要,我的老板给我批过一台 Mac Pro (感恩!),当年这台设备除了价格之外,都满足我上述的要求。我曾经测试过这个在媒体口中被“诟病不少”的来自苹果的“失败”的“工业设计产品”。其实,如果不使用默认搭载的两颗显卡,只用设备做纯 DC 计算,还是比较靠谱的:
设备整体功耗和发热量能够得到有效控制。
电源供电更能够保障 CPU 发挥,不会出现 CPU 和显卡抢资源的问题。
散热压力小,被诟病的散热问题得到缓解。
当然,在选择垃圾桶的过程中,也有一些注意事项。如果你感兴趣的话,可以阅读下文中相关的部分。
随着时间的推移,这台设备的残留价值也越来越低,尤其感谢 M1 / M2 设备的后浪,让这台设备溢价最高的媒体处理的价值越来越低。(下文中有和 M2 以及最后一代 Intel CPU MacBook Pro 的性能比较)
Mac 设备自带了一个“傻瓜化”的硬件自检功能,推荐不论是购置设备刚刚到手,还是进行硬件升级完毕之后,都手动执行一次硬件自检,更早的了解到设备的状况,做一些应对和选择,避免不必要的问题排查。
类似 Mac Pro 这类采用了 Intel CPU 的设备,我们可以在开机的时候长按 D 键,来启动 Mac 设备的自检程序。
耐心等待设备完成自检
当自检完毕,我们能够直观的看到设备是否有问题。
没有硬件问题的 Happy Ending
拆机升级 CPU 的细节
Mac Pro 的拆机非常简单[5],但是即使如此,也还是要小心一些,除了拆卸外壳,任何一步都不要大力出奇迹。
比如,大力拆卸设备供电底座,可能会在拆机过程损坏传感器,维修特别麻烦,毕竟这是一台配件除了苹果库存之外,市场上并不多的设备,过保的设备“麻烦”苹果的天才吧维修,应该不便宜。
小心的拆掉供电主板后,耐心的拆掉连接 CPU 所在主板的供电线的螺丝。然后稍微用力的拆卸掉将 CPU 固定在巨大的散热器上的几颗螺丝。当所有的螺丝都拆卸完毕之后,CPU 就展示在我们面前了。(硅脂居然还没有完全被烤干)
拆机第四步
在清理完毕散热器上的老硅脂之后,我们重新涂抹均匀新的硅脂,然后完成 CPU 的更换安装。Mac Pro 扣具有一个槽,让 CPU 合适的放进去就行,不需要用力按。当我们组装还原机器的时候,之前拆卸的螺丝自然会让 CPU 的阵脚接触充分。
接下来就是逆向过程,怎么拆的,怎么安装回去,还原机器啦。 macOS 系统选择
如果你选择第二或者第三种方案,为了避免安装引导过程出现不必要的翻工的麻烦,我们可以先在“磁盘工具”中,将 U 盘格式化为 “Mac OS 扩展(日志式)/ Mac OS Extended(Journaled)”格式,并选择 “GUID 分区图”,如果你不希望调整本文中使用的命令,可以将 U 盘暂时命名为 “MyVolume”。
# macOS High Sierra (10.13)
macappstores://apps.apple.com/us/app/macos-high-sierra/id1246284741?mt=12当然,你也可以从官方的这个下载页面[8]获取更早的系统版本。不过更早的系统的安装包和最近几年的安装包在结构上有一些不同,你需要使用 pkgutil 进行一些额外的解压缩操作,比如 OS X El Capitan:
# 解压缩 pkg 安装包
pkgutil --expand-full "/Volumes/Install OS X/InstallMacOSX.pkg" PSInstaller
# macOS High Sierra (10.13)
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume执行命令,我们将看到类似下面的日志输出,系统盘就制作完毕啦:
Password:
Erasing disk: 0%... 10%... 20%... 30%... 100%
Making disk bootable...
Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 100%
Install media now available at "/Volumes/Install macOS Catalina"制作完毕启动盘之后,将设备插到 Mac Pro 上,重启设备,开机按住 Option (ALT)键不放,等待界面出现引导 U 盘,然后根据提示进行安装即可。
Threads fairness:
events (avg/stddev): 148016951.0000/0.00
execution time (avg/stddev): 0.4805/0.00上面的结果是 M2 款 Mac Book Pro的单核心测试,我们接着来测试 Intel i9 的 Mac book Pro:
CPU speed:
events per second: 4671496.53
General statistics:
total time: 10.0000s
total number of events: 46720188
Threads fairness:
events (avg/stddev): 46720188.0000/0.00
execution time (avg/stddev): 3.7208/0.00Intel 款的 MacBook Pro 单核的算力大概只有 M2 版本的 31%。接着我们继续测试 Mac Pro 2013:
CPU speed:
events per second: 3835734.38
General statistics:
total time: 10.0000s
total number of events: 38364835
Threads fairness:
events (avg/stddev): 38364835.0000/0.00
execution time (avg/stddev): 1.3136/0.00Mac Pro 2013 能够达到 i9 款 Mac Book Pro 单核性能的 82%,M2 款 Mac Book 单核性能的 25%。毕竟 CPU 就 200 块钱,就不要指望单核峰值计算能够有多“实惠”啦。多核心测试中,将有不同的结果。
调整命令,我们使用标称的“核心数”对不同设备分别进行测试。先对 M2 Mac Book Pro 使用 4 颗性能核心进行测试(系统会自动负载选择大核进行计算):
sysbench cpu --threads=4 run命令执行完毕,我们将得到 10 秒内 5376 万次的测试结果:
CPU speed:
events per second: 53769493.86
General statistics:
total time: 10.0001s
total number of events: 537718167
Threads fairness:
events (avg/stddev): 134429541.7500/53271.21
execution time (avg/stddev): 4.3499/0.04调整测试命令,对 i9 款的 Mac Book Pro 进行 8 核心的测试,得到了 3199 万次的计算结果:
CPU speed:
events per second: 31998304.51
General statistics:
total time: 10.0002s
total number of events: 320023267
Threads fairness:
events (avg/stddev): 40002908.3750/352026.64
execution time (avg/stddev): 2.6512/0.03对 Mac Pro 2013 使用其 CPU 核心数 12 进行测试:
CPU speed:
events per second: 37160277.28
General statistics:
total time: 10.0004s
total number of events: 371682110
Threads fairness:
events (avg/stddev): 30853281.1875/134914.77
execution time (avg/stddev): 2.7410/0.03同样调整 Mac Pro 2013 的测试参数,使用全部的 24 线程进行计算:
CPU speed:
events per second: 61442952.09
General statistics:
total time: 10.0008s
total number of events: 614588781
Mac Pro 2013 默认有两个千兆网口,实际使用的时候,我们可以进行简单的链路聚合(2G口),来提升内网的数据交换效率。
如果你追求最大化的带宽,可以购置 6 个雷电 2 转 USB 转接头,然后加上 USB 网口一共新增 10 块 USB 网卡,来形成更强的链路聚合效果。(脏辫模式) macOS 老系统使用经验