一切都从去年这个月开始

2022 年 3 月,Asahi 的 alpha 版本发布,我立即将其安装在配备 8 核 Apple Silicon (ARM64) M1 处理器的 Mac Mini 上。

Asahi 是一个 Linux 发行版,由于开源社区成员提供了一些巧妙的逆向工程,因此可以在基于 Apple Silicon 的 Mac 上本机运行。此外,运行 Asahi 是完全合法的,因为 Apple 正式允许在其 Apple Silicon 平台上启动非 macOS 操作系统。

虽然 Asahi 当时并不支持所有 Mac Mini 硬件组件,但基本的硬件驱动程序都可用,而且我对系统的速度感到惊讶。在得知我可以安装我需要的所有软件后,它很快就成为我的日常驱动程序,正如我在 7 月份的博客文章中详细介绍的那样。到 12 月,所有剩余硬件(蓝牙、音频、GPU)的驱动程序都可用,并且我想要的所有开源软件包都已更新,以支持 Apple Silicon 所需的 16K 页面大小。

就在那时,我心想:“如果我可以在 Apple 最快的 Apple Silicon Mac 上本地运行 Asahi Linux 会怎么样?那将是终极的 ARM64 Linux 工作站。我绝对想运行终极 ARM64 Linux 工作站。”

所以我把事情提升到了一个新的水平

今年一月,我在 Apple 最强大的 ARM64 系统上安装了 Asahi Linux:配备 20 核 M1 Ultra 处理器和 128GB RAM 的 Mac Studio。它通过 HDMI 与令人惊叹的戴尔 34 英寸宽屏曲面显示器搭配。

与此同时,我决定是时候从强大的 i3 窗口管理器(必须在旧版 X 窗口系统上运行)迁移到在新 Wayland 窗口系统上运行的 sway 合成器了。这比我预想的要容易得多 —— 与 i3 相比,sway 的性能更好,并且使用了更精简的配置。

下面是我在 Mac Studio 上的 sway 桌面的高分辨率屏幕截图。您可以在此 GitHub 存储库中找到我的自定义 sway dotfiles 配置。

有什么不行的吗?

引用《哈姆雷特》第三幕第三场第 87 行:“不。”

一切正常…… 并且运行完美。所有硬件(蓝牙、音频、HDMI、USB、10G 以太网、WiFi 和 GPU)在 Asahi 团队去年创建的驱动程序下都能完美运行,并且没有任何一个我想要或需要的软件不符合要求。Asahi 在这个系统上运行得不太好。

我安装的大多数软件包都来自 Arch 用户存储库(因为 Asahi 基于 Arch),但其中一些软件包是作为 Flatpak 沙箱安装的(例如 Visual Studio Code)。对于更复杂的软件系统,我经常获取现成的容器映像并将它们作为容器运行(例如,我的 NextCloud 实例)。您还会从 htop 屏幕截图的输出中注意到,我正在运行 K3s 集群来测试我开发的微服务。

由于我的大部分工作负载都是容器化的,因此我不需要运行其他 Linux 虚拟机。然而,我确实必须支持在 BSD 监狱中运行的几个 Web 应用程序。为此,我安装了 FreeBSD UNIX 的专用 QEMU 虚拟机,该虚拟机使用 8 核和 64GB RAM。下面是在我的 sway 桌面的终端中运行的虚拟机控制台的图片。您可以在此 GitHub 存储库中找到我的 QEMU 脚本。

这是迄今为止我用过的最快的 Linux 桌面。

一切 —— 我是说一切 —— 都快得令人难以置信。一切都是即时运行的,应用程序启动屏幕似乎不存在。

在某些情况下,它太快了。当我安装 K3s 时,kube-system 命名空间中的所有容器都不断进入可怕的 CrashLoopBackOff 状态(这是我以前在生产容器之外从未见过的情况)。经过一番调查,我发现 Mac Studio 对于 Kubernetes 资源计时来说太快了,我必须为每个 pod 添加资源限制来纠正这种情况。

我喜欢在 Linux/ARM64 上开发的主要原因之一是因为它符合我的课外开发。我目前合作的初创公司使用基于微服务的计算密集型应用程序,该应用程序通常在具有 48 个 ARM64 核心的 AWS c6g.12xlarge Graviton 实例中运行。该应用程序非常繁重,以至于我们在应用程序本身中内置了自己的负载模拟和性能监控微服务(我们的服务网格也对此有所帮助)。

因此,我在运行 Asahi 的 Mac Studio 上暂存该应用程序,并运行负载模拟,以了解它在 AWS 上的暂存环境中的表现如何。Mac Studio 彻底击败了 Graviton 实例。相同负载下的延迟平均降低了大约 20%,峰值时的计算速度始终快了 36%。I/O 的监控和解释比较棘手,但在我看来,总体而言并没有显着不同。

它确实是终极 ARM64 Linux 工作站。我喜欢使用它。

原文:
https://jasoneckert.github.io/myblog/ultimate-linux-arm64-workstation