當前位置: 妍妍網 > 碼農

Mac蘋果芯片執行Asahi——最強Linux、終極ARM64 Linux工作站

2024-04-03碼農

一切都從去年這個月開始

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

熱門文章

-

-

-

⬇️ 長按二維碼,啟動!