Mac 围绕 MacBook Pro 打造的工作站设计日志

dsh0416 · 2016年06月21日 · 最后由 staticor 回复于 2016年08月23日 · 23049 次阅读
本帖已被管理员设置为精华贴

为什么

为什么我一定要用 macOS?

这个问题需要放在一上来就被解释清楚,尤其当你发现这个 setup 的性价比其实非常低。然而这么设计自然有它存在的意义。首先,这和我的工作性质有关。我的日常开发同时涉及后端、前端和设计。尤其是我的后端围绕着 Ruby 展开。Ruby 的 native extensions 在 Windows 上确实有时兼容性上有一些问题,主要是我不想太折腾。使用一个 POSIX 兼容的操作系统是非常必要的。然而涉及前端的用户界面设计时,我还需要用到 Illustrator、Photoshop、Sketch 等一些软件。哪怕不使用 Sketch,剩下的软件也没有 Linux 的兼容版本。这使得 macOS 是我能避免频繁切换操作系统的唯一选择。

为什么不使用台式机的选项?

在组建这个工作站系统的一开始,我希望围绕一款苹果的台式机来开始。苹果目前仍然在销售的台式机有 Mac Mini、Mac Pro 和 iMac,其中 iMac 带一块 27 寸的 5K 屏幕。但是 Mac Mini 和 iMac 本质上使用的仍然是移动级别的 CPU。而 Mac Pro 由于长久没有更新,目前的购买选项性价实在太差,并且 Mac Pro 的风道虽然设计非常合理,但是很多使用经验表明,数个月后当灰尘覆盖底部后风道会收到极严重的影响,故不作考虑。

如何

屏幕设置

Screen Setup

中间是 34 英寸 21:9 带鱼屏幕,用来做视频剪辑等素材复杂的工作时能很好胜任。写代码时也能同时照顾多个文件。右侧 24 英寸 16:9 屏幕竖放,用于看适合竖着看的内容,比如开发文档、论文,不看的时候把聊天窗口丢在右侧避免对主要工作视线的干扰。上方 23 英寸 16:9 屏幕,用于连接 PC,用于偶尔需要看的 Visual Studio 上的项目,或者玩一些 PC 独占的游戏等。

这里我使用了 Synergy 软件,来给两台电脑共享键盘和鼠标。由于 Synergy 跨平台支持,只要简单配置屏幕的位置,就能提供鼠标、键盘和剪贴板的双机共享了。

性能

当两块高分辨率的屏幕插入 MacBook Pro 后,你能看到显著的性能下滑,发热非常明显。如果试图利用 21:9 屏幕的优势玩一些 macOS 系统兼容的游戏比如 欧洲卡车模拟器 2 的时候哪怕在全低画质下也不能流畅运行。如果跑视频渲染、压片等操作时,同样的性能问题明显。相反在一些 CPU 密集的应用场景下,比如编译程序的时候,反而没有太大的问题。而内存上,16GB 也基本够使用,虽然如果是 32GB 或者 64GB 的配置的话,性能上更游刃有余一些。

综上我们可以发现,主要问题出在 MacBook Pro 的显卡上。那么想到的方案自然就是外置显卡。不过,凡是做过 expressCard 外置显卡的人都知道,对显卡性能的损失是非常严重的。这是因为 expressCard 虽然是总线接口,但是其带宽只有 PCI-E x1。然而 MacBook Pro 所提供的雷电接口,在 Thunderbolt 2.0 协议下就有 20Gbps 的带宽,这相当于 PCI-E x4 的带宽,哪怕使用 GTX 970 这样的显卡,也只有 10% 的性能损失。

我使用的外置 PCI-E 盒子是 AKiTiO 的产品。外包装上明显标注,不支持显卡。这是因为显卡需要额外的供电,而盒子只能提供 60W 的供电,远小于显卡的需求,直接插上用可能会把显卡烧坏。所以我们将显卡盒外壳拆开后,单独接一个 400W 电源到显卡的 8pin 上。只不过,只这么操作,电源并不会认为自己开机了,所以不会供电。我们还需要用回形针把电源 24pin 的 13 引脚短接到地线,来模拟一个开机的情况。

在我用了一天后,我发现 Dell 曾经为他们的迷你电脑推出过一款电源,其输出正是 12V 的 8pin,并且功率高达 220W,这是 Dell DA-2 电源适配器。所以如果不想魔改电源的话,可以使用这一解决方案。更新:Dell DA-2 的电源适配器寄到后发现还是有点小问题。虽然同是 8pin 但引脚定义有区别,需要用一条 6pin + 6pin 转 8pin 的线转一下。错位插上电源后用回形针短接 remote 针脚到负极。好处就是现在电源可以自动控制开关而不用手动控制了,以及线缆干净了不少。

驱动上的话,NVIDIA 只为 Mac Pro 推出过显卡驱动,而不是 MacBook Pro。当然,操作系统层面的事情,当然我们可以魔改驱动,有一个一键安装的脚本项目在此 automate-eGPU。不过由于新的 Mac 的安全策略,你还需要 Command + R 开机进入恢复模式,在实用工具 - 终端中输入命令关闭驱动签名校验,才能正常使用,这一点这个一键脚本也会做出相应的提示。

至此,我们解决了显卡性能上的问题。

存储

买 256GB 版本 MacBook Pro 省下来的钱就是脑袋里进的水。为了解决把笔记本变为工作站后增加的大量数据,不得不寻找外置的存储方案进行妥协。最常见的解决方案当然就是移动硬盘。但事实上,移动硬盘通过 USB 3.0 连接,经常容易发生连接不稳定的情况,从而导致一些存储意外发生,我曾因这些原因导致过数据丢失一次。直到我见到了 Transcend 的 256GB 扩容存储卡,其长度比一般卡还要短一些,插入 MacBook Pro 中能几乎贴合于卡槽,从而避免了携带和使用上的不安全。唯一麻烦的是拿出来的时候需要使用一把面包刀或者尖锐的支架才能让卡与机器分离。

噪音

虽然我们把显卡外置了,理论上机器散热没有任何压力。但实际上,Thunderbolt 2 的连接处由于非常巨大的数据交换,实际上左侧发热相对还是有点严重。考虑到,MacBook Pro 不止通过风道具有很强的散热能力,其铝合金外壳本身也被设计成其散热的一部分,我们大可通过降低外壳温度来降低整体温度。我选择了目前还只有在日本市场销售的 USB 水冷套件,为我的 MacBook Pro 做进一步降温。

更新:经查发热主要由 Thunderbolt 2 线缆中的芯片产生,因为 Thunderbolt 设计时没有考虑到带宽能被长时间满占,所以有必要可以购买贝尔金出的一款带散热片的 Thunderbolt 线缆。

外设

关于键盘,我以前在别的地方详细说过定做的过程《一款祖传的机械键盘》,不重复赘述。在我使用的那么多的鼠标中,没有一款鼠标能比 Logitech M558 更适合 Mac 了,说实话 Apple Magic Mouse 还是省省吧,那东西就是个能挪动的触摸板。M558 从设计到重量甚至是电池,简直就是天生为 MacBook 准备的。而且,很便宜,并不是 Logitech 的高端产品。

便携

虽然我们对整个 setup 进行了巨大的改动。但是其便携性没有遭到下降。我只需要关机后断开先开连接,就能带出门。而我的数据、执行了一半的工作流都能随身携带。续航也能维持在 8 - 9 小时的 MacBook Pro 的正常续航水平,而选择的 60% 键盘和 Logitech M558 也都很适合携带。这是单独搭建的工作站无法得到的优秀体验。

购物列表

选项 价格(人民币元) 备注
MacBook Pro 15'' 14288 国行
Transcent JetDrive Lite 256GB 1099
x86 兼容机 5000
AOC Q3477FQ 2399
AKiTiO Thunderbolt 2 PCI-E 1200 二手
NVIDIA GTX 970 ITX 1700 二手
Dell DA-2 Adapter 32 二手
ViewSonic VA2462H 899
ViewSonic VA2349S 699
乐歌 D3 显示器支架 199
乐歌 L1 显示器支架 79
Logitech M558 169
客制化机械键盘 1290
笔记本水冷套价 USBWATC2 583.73 日本 Amazon
总计 29604.73

缺点

  • 当 CPU 和内存遇到了瓶颈:由于使用的是移动的 CPU 和内存,虽然都算不错,但在一些任务上依然会遇到瓶颈,比如机器学习或者大型编译。于是我在房间里准备了一台 22 核 44 线程 64GB 内存的服务器,让 Mac 可以随时随地远程登录来执行这部分任务。
  • 内置的屏幕无法关闭:当系统默认显卡切换为 GTX 970 时,把屏幕盖子盖上后,虽然屏幕已不作显示,但操作系统仍然认为该屏幕存在并耗费资源进行渲染。这可以被认为是 macOS 的一个 bug。暂时没有解决方案。
  • Synergy 在多屏下检测有误:Synergy 跨机器的检测逻辑是你达到了屏幕的边缘,而这个边缘是指你最边缘的那块屏幕的边缘。比如我的设置中,我无法向 Synergy 正确描述我 PC 的位置。从而不能使得跨机器的使用完全符合直觉。
  • 音频:由于盖上盖子的 MacBook Pro 发出的声音很奇怪会破音。而几块屏幕的声音几乎就是只能用「听个响」来形容,所以需要外接一个音响。同时 PC 和 MacBook Pro 的音频不能在同一个音响输出。我试图使用 3.5mm 音频线一分二母 立体声音频转接线,但实际上还存在一点问题,仍然在解决中。

以后的搭建

由于这些都是在我卧室床头搭建的,以满足我起床就能写代码,写累了就睡的要求。当然我还购买了一把没有腿的椅子,这样我能长时间坐在床上而不至于腰背疼痛。那么既然是卧室,所以最近打算把窗帘拆了改装成投影幕,加装投影仪供 PS4 使用,在 120 英寸的屏幕上畅玩 PS4。

当然,还有一点,我要理一下线,现在这机器背后的线缆我自己都看不下去。

图少了点 也没有说这个工作站到底是什么组成...只有一个购物列表...看得比较糊涂 简单来说就是拿 macbook pro 加了很多个显示器?

#2 楼 @cqcn1991 还拖了个外置显卡。还拖了台 PC 共享了鼠键

#2 楼 @cqcn1991 我等会补点图去

#4 楼 @dsh0416 话说如果黑苹果的话会不会最合适你?不过其实稳定性这个东西比较扯...

#5 楼 @cqcn1991 其实我原来是用黑苹果的,实在驱动折腾不动就买了

豪友乎。。。

这是个会玩的...

jasl 将本帖设为了精华贴。 06月22日 02:00

外置显卡的高清大图呢

可以去熊猫直播 coding 过程

12 楼 已删除

活生生的把笔记本变成台式机的节奏

其实真心推荐搞个 hp gen8,弄个 esxi,然后把这一团线扔出窗外。不过好像来不及了。

#15 楼 @zhang_soledad 我只是想表示一下这是个运行 Windows 的机器,所以我想了半天怎么找一个 Windows 独占的应用,然后我就打开了。。。

强烈谴责勾起买买买欲望的帖子

感觉你需要的是 6 核顶配的 Mac Pro,那才是真正的个人工作站。

我买的是 2015 款的 macbookpro15 寸,除了后悔硬盘买小了,其它都非常满意。以后只买顶配。

真会玩,很能折腾…… 👍

@dsh0416 不用解释了 写代码的时候还想艹猫

键盘我们可以交流哈。嘿嘿。客制化坑比较深。

艹猫醒目..

会玩。

这些电源线乱的..... 让我有强迫症的感觉。

目瞪口呆加羡慕 >。<

有种 CHH 帖子的感觉,只是图少了点

很好奇你房间服务器的具体配置 😃

看到这些乱七八糟的线只想一刀砍了

还是做后端好啊,一台三年没有升级的 mac book 就搞掂了一切

超赞的

楼主在半塘上也有发吧?😂

MacBook Pro 不是顶配,差评!😂

#32 楼 @duanjs 啥,我没在半塘上发啊。。。谁转去的???

chinakr Working with Mac 提及了此话题。 06月25日 15:13


功能好赞。

这价格,直接黑苹果效率更高一些

#38 楼 @lakuy 黑苹果如果要做为主力机,千万慎重。系统何时崩溃与否一直是悬着的,然而我就撞上过一次。256SSD 数据全部无法恢复。

话说楼主的 Transcent 扩展卡没有睡眠无法唤醒的症状?

土豪的配置

cool!其实我更关注的是...这样子身体素质会不会一天比一天...

#39 楼 @zzcv 确实有一定概率会触发,装 Trancard 的官方驱动后概率显著降低。还有一定概率出现写保护,这应该是 MacBook 卡槽疲劳导致的,拔出重新向下压住插入卡能解决。

哈哈,楼主真厉害好顶赞。 其实到了重度使用对硬件极端要求的环节,真发现 mac 的硬件还是不给力啊。 有点想给家里的 3960X 电脑装黑苹果了。

#44 楼 @derekyxie 一般用非线性视频剪辑工具分分钟想黑苹果。。。

是个爱折腾的人....

需要 登录 后方可回复, 如果你还没有账号请 注册新账号