My 2025 high-end Linux PC 🐧

Michael Stapelberg

我的 2025 年高階 Linux 主機 🐧

原文由 Michael Stapelberg 發布,訂閱此部落格

結果發現,我上次組這台機器時拿到了一顆有瑕疵的 CPU!換掉 CPU 之後,機器現在又穩又快!🚀 這篇文章會更詳細地說明零組件的選擇,不過簡單來說,我選了 Intel 285K 是為了待機功耗低,選了 4TB 的 SSD 就不用擔心很快就把空間用完,還有一張效能足夠的 NVIDIA 顯示卡來推動我的 Dell UP3218K 8K 螢幕

零組件

這次組裝我選了哪些零組件?完整清單如下:

價格類型品項
140 CHF機殼Fractal Define 7 Compact Black Solid
155 CHF電源供應器Corsair RM850x
233 CHF主機板ASUS PRIME Z890-P
620 CHF處理器Intel Core Ultra 9 285K
120 CHFCPU 散熱器Noctua NH-D15 G2
39 CHF機殼風扇Noctua NF-A14 PWM (140 mm)
209 CHF記憶體64 GB DDR5-6400 Corsair Vengeance (2 x 32GB)
280 CHF硬碟4000 GB Samsung 990 Pro
554 CHF顯示卡MSI GeForce RTX 3060 Ti GAMING X TRIO

總計:2350 CHF

接下來的幾個小節會詳細說明我是怎麼挑選這些零組件的。

機殼

我已經喜歡 Fractal 的機殼好幾個世代了。特別是發現「Compact」系列即使要裝大型顯示卡和 CPU 散熱器,空間也綽綽有餘,所以它現在成了我的首選:Fractal Define 7 Compact(Black Solid)。

我對機殼的一般要求如下:

  1. 機殼本身就要盡可能安靜,不需要額外加工。
  2. 機殼不能有尖銳的邊角(避免割傷!)。
  3. 機殼要有剛好的空間,讓你能輕鬆碰觸到各個零組件。
  4. 機殼在整線方面的設計支援越多越好。
  5. 要有 USB 3.0 前置面板接頭。

我真的很喜歡在這個機殼裡組裝、操作。沒有銳利的邊角,機構用起來很順手,整線的設計也很周到。

唯一不夠完美的地方是,Fractal 把機殼螺絲裝在需要剪開的密封塑膠包裝裡。我會更希望它用可重複封口的夾鏈袋,這樣沒用到的螺絲才不會搞丟。

組完這一台之後,我所有的電腦都統一換成 Fractal Define 7 Compact Black 機殼了!

電源供應器

我想保留日後升級到 NVIDIA 50xx 系列顯示卡的彈性。那些型號的 TGP(Total Graphics Power,顯示卡總功耗)高達 575 瓦,所以我需要一顆電源供應器,即使在各種尖峰負載下也能為整套系統提供足夠的電力。

最後我選了 Corsair RM850x,它評價很好(被稱為「850W 金牌價位帶的領頭羊」),而且在我常去的電子商城剛好有貨。

這是個不錯的選擇:電源供應器運轉起來確實很安靜,而且我很喜歡它附的電源線(例如顯示卡的線):非常柔軟,很好整線。

有個有趣的發現是,與其用電源供應器附的 12VHPWR 線,不如沿用舊式的 8-pin 顯示卡電源接頭,再搭配 12VHPWR 轉 8-pin 轉接頭,反而更方便。原因是 12VHPWR 接頭的卡榫非常難解開,所以在需要多次拆裝顯示卡除錯時(像我這次就拆了好幾次),解開 8-pin 接頭要輕鬆得多……

SSD 硬碟

到目前為止我一直避開 PCIe 5.0 的 SSD,因為它們比 PCIe 4.0 SSD 耗電得多。雖然 PCIe 5.0 SSD 的連續大量傳輸速度比較快,但隨機讀寫並沒有快多少。而我的工作負載大多是隨機存取,而不是大檔案的連續傳輸。

最近 PCIe 5.0 SSD 的功耗狀況似乎有改善,Phison E31T 是第一款導入省電機制的控制晶片。採用 E31T 控制器的硬碟之一是 Corsair Force Series MP700 Elite。可惜我下單時那款剛好沒貨。

所以我改選了 4TB 的 Samsung 990 Pro。這些年來我對 Samsung Pro 系列的經驗一直很好(從來沒有掛掉或效能衰退過),而且我之前那顆 2TB 的硬碟也快塞滿了,多一點空間剛好。

內建 2.5GbE 網路卡

一個讓人有點困擾的發現是,大多數主機板廠商似乎都已經改用內建 2.5GbE(也就是 2.5 Gbit/s 乙太網路)網路卡。我本來寧可保守一點,再買一張 Intel I225 的 1GbE 網卡,只要它在 Linux 上隨插即用就好。

在 2.5GbE 領域,主要的廠商似乎是 Realtek 和 Intel。就我觀察,大多數主機板廠商都選擇了 Realtek。

Linux 內建了給 Realtek 網卡用的 r8169 驅動程式,但能不能隨插即用,取決於網路卡的確切版本!例如:

  • AsRock Z890 Pro-A 是 rev 8125B。lshw:firmware=rtl8125b-2_0.0.2 07/13/20
  • ASUS PRIME Z890-P 則是 rev 8125D。lshw:firmware=rtl8125d-1_0.0.7 10/15/24

如果是 rev 8125D,就需要夠新的 Linux 版本(6.13 以上),包含「r8169: add support for RTL8125D」這個 commit,同時也要搭配夠新的 linux-firmware 套件。

即使有了最新的韌體,對於穩定性和 ASPM 支援仍有些疑慮。例如可參考這位 r8169 驅動程式開發者寫的這篇 ServerFault 貼文。不過,雖然 Intel 的 1GbE 選項到現在已經支援得很好了,Intel 的 2.5GbE 選項表現卻不一定比 Realtek 好:我也找到關於 Intel 2.5GbE 網卡不穩定的回報

話雖如此,除了惱人的韌體版本要求之外,這張 Realtek 2.5GbE 網卡在實際使用上對我來說倒是運作正常。

主機板

儘管網路卡的選擇不算理想,我還是決定沿用 ASUS PRIME 系列主機板,因為過去幾次組裝的經驗都不錯。以下是我對這次選用的 ASUS PRIME Z890-P 的一些心得:

  • 我很喜歡它的 PCIe 快拆機構:ASUS 知道大家常常很難把大型顯示卡從 PCIe 插槽上解鎖,所以加了一個像拉桿一樣、很容易搆到的機構。我用了幾次,效果相當不錯!
  • 我曾在2022 年組裝的電腦開機很慢一文中寫過,開機慢是耗時較長的記憶體訓練造成的。在這張 ASUS 主機板上,我注意到板子會讓電源 LED 閃爍來表示正在進行記憶體訓練。很棒!我以前從沒想過可以用電源 LED 不同的閃爍模式來表示開機的不同階段 :)
    • 這個功能的缺點是:機器進入暫停至記憶體(suspend-to-RAM)時,電源 LED 也會一直閃!這有點煩人,所以我可能會乾脆把電源 LED 的線拔掉。
  • UEFI 韌體裡有所謂的 Q-Dashboard:可以一覽各個插槽上安裝/連接了什麼。還不錯:

我在測試的兩張主機板之間發現一個令人意外的差異:AsRock Z890 Pro-A 似乎不會在 lshw 中回報正確的 DIMM 時脈,而 ASUS 則會:

--- lshw-intel-285k-asrock.txt	2025-04-30 20:35:24 +0200
+++ lshw-intel-285k-asus.txt		2025-04-30 21:39:52 +0200
      *-firmware
           description: BIOS
-          vendor: American Megatrends International, LLC.
+          vendor: American Megatrends Inc.
           physical id: 0
-          version: 2.25
-          date: 03/24/2025
+          version: 1601
+          date: 02/07/2025
           size: 64KiB
-          capacity: 32MiB
+          capacity: 16MiB
           capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd acpi biosbootspecification uefi
[…]
      *-memory
           description: System Memory
-          physical id: 9
+          physical id: e
           slot: System board or motherboard
           size: 64GiB
         *-bank:0
-             description: DIMM [empty]
+             description: [empty]
             physical id: 0
             slot: Controller0-ChannelA-DIMM0
         *-bank:1
-             description: DIMM Synchronous 4800 MHz (0,2 ns)
+             description: DIMM Synchronous 6400 MHz (0,2 ns)
              product: CMK64GX5M2B6400C32
              vendor: Corsair
              physical id: 1
@@ -40,13 +42,13 @@
              slot: Controller0-ChannelA-DIMM1
              size: 32GiB
              width: 64 bits
-             clock: 505MHz (2.0ns)
+             clock: 2105MHz (0.5ns)
         *-bank:2
-             description: DIMM [empty]
+             description: [empty]
              physical id: 2
              slot: Controller0-ChannelB-DIMM0
         *-bank:3
-             description: DIMM Synchronous 4800 MHz (0,2 ns)
+             description: DIMM Synchronous 6400 MHz (0,2 ns)
              product: CMK64GX5M2B6400C32
              vendor: Corsair
              physical id: 3
@@ -54,7 +56,7 @@
              slot: Controller0-ChannelB-DIMM1
              size: 32GiB
              width: 64 bits
-             clock: 505MHz (2.0ns)
+             clock: 2105MHz (0.5ns)
[…]

我還沒有去驗證是否有可量測的效能差異(例如 XMP 設定檔是否真的有生效),但至少你現在知道,不能完全相信 lshw 顯示的資訊。

CPU 散熱器

我是 Noctua 產品的長期愛用者:這家公司做的風扇安靜、散熱能力強,而且非常可靠!多年來我把每台電腦的風扇都換成 Noctua,每次都是升級。大推。

所以這次組裝毫不猶豫就選了 Noctua 最新、最強的 CPU 散熱器:Noctua NH-D15 G2。關於這顆散熱器有幾點要注意:

  • 我決定只裝一顆風扇而不是兩顆:只用一顆風扇會是最安靜的配置,但對這套系統來說散熱能力依然綽綽有餘。
  • 它有 3 種不同版本,差別在底板的形狀。Noctua 建議:「對於 LGA1851,我們一般推薦中度凸面的標準版」(https://noctua.at/en/intel-lga1851-all-you-need-to-know
  • 這顆散熱器高度為 168 公釐,剛好可以裝進 Fractal Define 7 Compact Black。

CPU 與 GPU:待機功耗 vs. 尖峰效能

CPU 的選擇:選 Intel 而非 AMD

這套配置最讓人好奇的大概就是為什麼我選 Intel 而不是 AMD。最主要的原因是 Intel CPU 在省電方面好太多了!

讓我解釋一下:網路上大多數的效能測試都是針對玩家,因此測量的是「打開遊戲、讓電腦連續幾小時以 100% 資源運轉」的使用情境。當然,如果你從不讓機器閒置,就會在意能源效率:要花多少電才能達到想要的結果?

我的使用情境是軟體開發,不是打遊戲。我的使用曲線在「幾乎沒負載,因為 Michael 正在讀文字」和「用盡所有可用效能、盡快完成編譯」之間擺盪。對我來說,待機時的絕對功耗和滿載時的絕對效能都必須是頂尖的。

AMD 的 CPU 效能很強(最近推出的 Ryzen 9 9950X3D 甚至比 Intel 9 285K 更快),而且有很好的能源效率,但在待機時的功耗卻很差:Zen 5 CPU 待機就要吃約 35W,大約是 Intel CPU 的 3 倍!

Intel 的 CPU 同樣提供很棒的效能(和 AMD 差不多),但待機功耗非常出色。

因此,我實在無法心安理得地買 AMD 的 CPU,不過如果你想要一台純粹用來打遊戲的高速電腦,或是要跑永遠滿載的 HPC 叢集,那當然很適合用它們 :)

顯示卡:選 NVIDIA 而非 AMD

我並不是特別推薦哪一張 NVIDIA 顯示卡,但我不得不一直用 NVIDIA,因為只有它們能跟我那台很挑剔的 Dell UP3218K 螢幕正常搭配。

我偶爾也會試試不同的顯示卡。最近我入手了一張 AMD Radeon RX 9070,因為看到有人說它對開源驅動程式的支援很好。

Radeon RX 9070 雖然能搭配我的螢幕(太好了!),但它在待機時似乎要吃 45W,比我的 NVIDIA 顯示卡待機約 20W 高出許多。這對我來說無法接受:除了電費變高、浪費寶貴資源之外,高功耗也意味著夏天房間會更熱,而且風扇必須轉得更快、更大聲。

有人在社群媒體上問我這會不會是量測誤差(例如顯示卡回報的數值不準),所以我用 myStrom WiFi Switch 再確認了一次,證實裝上 Radeon 顯示卡後,整台電腦從插座上確實多吃了 20 到 30W。

為什麼低待機功耗這麼重要

我上一篇關於這台機器第一次組裝不穩定的文章的留言中,有人問為什麼要為了幾瓦的功耗大費周章。大家會去算多耗幾瓦會多花多少錢,再跟零組件的總價相比,然後得出結論:省下約 10% 的價格根本不值得這麼費工。

讓我用一個小故事來說明低待機功耗的重要性:有一整年,我受到一個 NVIDIA 驅動程式 bug 的困擾,導致顯示卡無法降到最省電的模式(因為我螢幕的解析度很高)。10 到 20W 的差距本來應該微不足道。但當這個 bug 被修掉後,我立刻發現電腦變安靜了(風扇不用一直轉),房間也明顯變涼了,正好是在夏天最熱的時候,感覺非常好。

對我來說,擁有一個近乎無聲、又不會讓房間變熱的運算環境,是實實在在、可以感受到的好處。不浪費資源、省下一點點電費,只是額外的好處。

當然,所有這些因素都非常取決於個人情況:你家的隔熱狀況可能跟我不同,你對噪音的容忍度(或是環境底噪)也可能不一樣,你對資源消耗的重視程度也可能不同,等等。

安裝

UEFI 設定

我在網路上看到,有人提到主機板預設的 Power Limit(功耗限制)有些問題。因此拿到主機板後,我馬上做了UEFI 韌體更新。我用 UEFI 介面裡的 EZ Flash 工具,透過一支格式化為 MS-DOS FAT 的 USB 隨身碟,直接使用提供的 ZIP 檔(PRIME-Z890-P-ASUS-1404.zip)升級到 1404 版(2025/01/10)。小提醒:不要把 ZIP 檔解壓縮,否則 EZ Flash 工具就無法更新 Intel ME 韌體。直接把 ZIP 檔原封不動放到隨身碟上就好。

我確認過,在這個 UEFI 版本下,Power Limit 1 (PL1) 是 250W,ICCMAX=347A,正好是 Intel 建議的數值。很好!

我也啟用了 XMP,並確認 memtest86 沒有回報任何錯誤。

軟體設定:早鳥的陣痛

為了把舊硬碟的資料複製到新硬碟,我本想用隨身碟開機進入 live Linux 發行版(我用的是 grml.org),照我慣用的流程操作:同時接上舊硬碟和新的(空的)硬碟,然後用 dd 複製資料。簡單明瞭,很難出錯。

可惜,雖然 grml 2024.12 技術上可以開機,卻有兩個大問題:

  1. 沒有網路連線,因為核心和 linux-firmware 的版本太舊。

  2. 我完全無法讓 Xorg 跑起來。不管是用 Intel 內顯還是 NVIDIA 獨顯都不行,就算加上 nomodeset 或 grml 選單裡的其他選項也一樣。這不只是不方便的問題:我需要用到 gparted(圖形介面版)來移動/調整分割區。

最後,反而是把舊電腦先升級到 Linux 6.13 和 linux-firmware 20250109,再裝上新硬碟來複製系統,比較省事。

別忘了幫 SSD 做 TRIM

SSD 用久了效能會衰退,所以作業系統必須把已經釋放的區塊資訊告訴 SSD 韌體(以便做磨損平均)。如果有使用全碟加密,所有相關的層級都必須啟用 TRIM 支援。

我想我在 2022 年就親身遇過 TRIM 設定錯誤的影響,當時我從 Force MP600 複製資料到 WD Black SN850,竟然花了好幾個小時!

為了確保硬碟能長久健康地運作,我在 Arch Linux 系統上再次確認已同時啟用定期與持續性的 TRIMfstab(5) 檔案裡有加上 discard 選項(而且 mount(8) 也列出了 discard 選項),並且 fstrim.service 在過去一週內有執行過:

systemd[1]: Starting Discard unused blocks on filesystems from /etc/fstab...
fstrim[779617]: /boot: 10.1 GiB (10799427584 bytes) trimmed on /dev/nvme0n1p1
fstrim[779617]: /: 1.8 TiB (2018906263552 bytes) trimmed on /dev/mapper/cryptroot
systemd[1]: fstrim.service: Deactivated successfully.

說到複製資料:從我的 WD Black SN850 傳到 Samsung 990 PRO 時速度是 856 MB/s,總共花了大約 40 分鐘。

效能

以下是我平常會跑的幾個典型工作負載所需的總時間:

工作負載12900K(2022)285K(2025)
build Go 1.24.3 (cd src; ./make.bash)≈35s≈26s
gokrazy/rsync tests (make test)≈0.5s≈0.4s
gokrazy UEFI test (go test ./integration/...)≈30s≈10s
gokrazy Linux compile (gokr-rebuild-kernel -cross=arm64)3m 13s2m 7s

效能提升非常有感!編譯 Linux 核心快了整整一分鐘,真的很棒。

穩定性問題

三月時,我發表了一篇關於這台機器第一次組裝時不穩定的文章,裡面詳細記錄了我遇到的各種當機狀況。

到了五月初,在經歷了一連串漫長的除錯、把這台電腦所有其他零件都換過一輪、把 CPU 送回去換新之後,我現在可以確定就是 CPU 瑕疵。

CPU 是這次組裝中最難診斷的零件,因為它是 LGA 1851 腳位,而我(目前)沒有其他使用相同腳位的機器。在這種情況下,AMD 讓同一腳位沿用較久的做法會好得多。

壓力測試

當我發表上一篇關於這台電腦不穩定的文章時,我其實還不知道該怎麼穩定地重現問題。一些吃重的運算工作,例如跑 Django 測試套件,似乎會觸發問題。我懷疑問題後來變得更嚴重了,因為當我開始對機器做壓力測試時,突然每次編譯 Linux 核心都會當機。

這讓我好奇,像 Prime95 這類知名的 CPU 壓力測試工具是否也會出現問題,結果真的如此:短短幾秒內,Prime95 就回報了錯誤。

於是我決定把 Prime95 當作快速指標:如果它回報錯誤,就代表機器有問題。這通常在啟動 Prime95 後幾秒內就會發生。

如果 Prime95 沒有回報錯誤,我就用編譯 Linux 核心當作慢速指標:如果能成功編譯完核心,機器大概就夠穩定了。

我具體的做法是執行 ./mprime -m,按 N(不參與分散式運算專案),然後按幾次 Enter 確認預設值。接著 Prime95 就會開始運算,把 CPU 推到 100% 使用率(可參考我用 gokrazy/stat 實作的類似 dstat(1) 輸出),並從牆上插座吃掉預期的約 300W 電力:

執行 Prime95 對 CPU 進行壓力測試的照片電腦功耗截圖

此外,我也跑了幾個小時的 MemTest86

執行 memtest86 的照片

要說清楚的是:我在之前那台不穩定的機器上也成功跑過 MemTest86,所以如果遇到 CPU 瑕疵,光跑 MemTest86 是不夠的。

RMA 時程

  • 1 月 15 日:收到新電腦的零組件
    • 一月和二月期間,電腦偶爾會當機。
  • 3 月 4 日:換回舊電腦,開始寫部落格文章
  • 3 月 19 日:發表關於機器不穩定的部落格文章
    • 線上的討論沒有帶來什麼有用的建議或線索。
  • 3 月 20 日:訂購 AsRock Z890 Pro-A 主機板以確認主機板沒問題
  • 3 月 24 日:AsRock Z890 Pro-A 到貨
  • 4 月 5 日(週六):開始為 CPU 申請 RMA
    • 他們要我把 CPU 寄給 orderflow,也就是當初出貨給我的商家。
    • 我通常比較喜歡直接跟 digitec 買,但現在 digitec 上很多電腦零組件似乎都只能透過 orderflow 買到。
  • 4 月 9 日(週三):包裹送達 orderflow(digitec 給我的是非優先的退貨標籤)
  • 4 月 14 日(週一):收到 digitec 客服的來信,我必須說明我已經徹底診斷出 CPU 瑕疵(附上我的部落格文章連結就夠了):

經銷商已向原廠通報此事,原廠有以下幾個問題:

為了確認我們理解正確:您在兩張不同的主機板上測試過這顆 CPU,而且同樣的問題依然存在嗎?

可以請您告知這兩張主機板的品牌與型號嗎?

兩張主機板是否都已更新到最新的 BIOS 版本?

這個問題從一開始就存在,還是後來才出現的?

處理器是否有超頻?(請注意,超頻會導致保固失效。)

  • 4 月 25 日(週五):orderflow 把替換的 CPU 交給瑞士郵政寄出
  • 5 月 1 日(週四):機器順利通過壓力測試;我開始正式使用

總結來說,三月整個月我沒有可用的電腦,但那是因為我沒什麼時間處理這個專案。接著四月也沒有可用的電腦,則是因為透過 digitec 為 Intel CPU 申請 RMA 似乎非常慢。我會希望能多一點信任,直接先換一顆新的 CPU 給我。

結論

這次組裝真是一趟雲霄飛車、又超級耗時!我這輩子從沒收過一拿到就有瑕疵的 CPU。第一顆 CPU 是怎麼通過 Intel 品管的?還是它有通過品管,只是在運送過程中損壞了?我大概永遠不會知道。

從今以後,我知道新組的電腦一定要做徹底的壓力測試來檢查穩定性,才能更快發現這類問題。如果 CPU 真的有瑕疵,很不幸地,換貨就要花上一個月——讓這麼貴的機器閒置一個月生灰塵,真的很煩。

不過,一旦把有瑕疵的零件換掉,這就是我至今組過最棒的一台電腦:

機殼的大小對這些零組件來說恰到好處,而且在這台電腦的整個生命週期中——包括除錯期間,以及之後轉為「實驗機」的那段時間,直到我把它二手賣掉、希望下一位使用者還能再用好幾年——都能非常方便地接觸到所有零件。

這台機器很安靜、耗電量很低(以這麼強大的機器來說),而且效能真的很強!

跟往常一樣,我在這台電腦上跑 Linux,日常使用上沒遇到任何問題。我每天都會多次使用暫停至記憶體(suspend-to-RAM),也都沒問題。

希望這些細節對你自己的組裝也有一些參考價值、能派上用場!

如果你想了解除了 8K 螢幕之外我還用了哪些週邊(例如 Kinesis Advantage 鍵盤、Logitech MX Ergo 軌跡球等等),可以看看我的另一篇文章 stapelberg uses this: my 2020 desk setup。之後或許會再發一篇更新版 :)

本文章由 muse-spark-1.2-contributor 進行翻譯

留言