My 2025 high-end Linux PC 🐧

Michael Stapelberg

我的 2025 年高端 Linux PC 🐧

事实证明,我上一次装机失败是因为 CPU 有缺陷!换掉 CPU 之后,这台机器现在既稳定又快速!🚀 在本文中,我会详细介绍各个组件的选择过程,简单来说:我选择 Intel 285K CPU 是为了获得低空闲功耗,选择 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 CHFCPUIntel 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 CHFGPUMSI GeForce RTX 3060 Ti GAMING X TRIO

总计:2350 CHF

……接下来的几节会详细说明我如何挑选这些组件。

机箱

好几代产品以来,我一直喜欢 Fractal 机箱。特别是我发现“Compact”系列即使对大型显卡和 CPU 散热器也提供了充足的空间,所以它现在成了我的首选机箱:Fractal Define 7 Compact(Black Solid)。

我对 PC 机箱的一般要求如下:

  1. 无需额外努力,机箱就应该尽可能安静。
  2. 机箱不应有任何尖锐的边角(避免受伤危险!)。
  3. 机箱应提供刚好足够的空间,方便接触各个组件。
  4. 机箱在鼓励整洁走线方面提供的支持越多越好。
  5. 应带有 USB3 前面板接口。

我真的很喜欢把组件装进这个机箱、以及使用这个机箱的过程。它没有锋利的边缘,各种机构用起来令人愉悦,走线管理也设计得很周到。

唯一不够完美的地方是,Fractal 把机箱螺丝装在需要剪开才能打开的密封塑料包装里。我希望是一个可重复封口的塑料袋,这样就可以保留没用完的螺丝而不至于丢失。

通过这次装机,我所有的 PC 都统一使用 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 SSD,因为与 PCIe 4 SSD 相比,它们功耗高得多。虽然 PCIe 5 SSD 的大块顺序数据传输速率更高,但随机传输并没有明显更快。我的大部分计算负载都是随机传输,而非大块传输。

PCIe 5 SSD 的功耗情况近来似乎有所改善,Phison E31T 是第一个实现节能功能的控制器。采用 E31T 控制器的硬盘是 Corsair Force Series MP700 Elite。遗憾的是,我下单时这款硬盘缺货。

于是我选择了 4 TB 的 Samsung 990 Pro。多年来,我在 Samsung Pro 系列上的使用体验一直很好(从未坏过一块,也没有性能衰减),而且我之前那块 2 TB 硬盘开始装满了,所以额外的存储空间很受欢迎。

板载 2.5GbE 网卡

一个令人恼火的事实是,大多数主板厂商似乎都改用了 2.5 GbE(即 2.5 Gbit/s 以太网)板载网卡。我本来很乐意求稳,再买一块 Intel I225 1 GbE 网卡,只要它在 Linux 上能开箱即用

在 2.5 GbE 领域,主要玩家似乎是 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

对于 8125D 版本,你需要足够新的 Linux 版本(6.13+),其中包含提交“r8169: add support for RTL8125D”,并搭配足够新的 linux-firmware 软件包。

即便使用最新固件,稳定性和 ASPM 支持方面仍有一些顾虑。例如,可以看看 r8169 驱动的开发者发布的这篇 ServerFault 帖子。不过,尽管 Intel 1 GbE 的方案目前支持良好,Intel 的 2.5 GbE 方案未必就比 Realtek 的好:我找到了关于 Intel 2.5 GbE 网卡不稳定的报告

话虽如此,除了恼人的固件要求之外,Realtek 2.5 GbE 网卡在我的实际使用中似乎工作正常。

主板

尽管网卡选择不太理想,我还是决定继续使用 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 产品的长期粉丝:这家公司生产的静音风扇散热能力强、运行可靠!多年来,我把我每台 PC 的所有风扇都换成了 Noctua 风扇,每次都是升级。强烈推荐。

因此,这次装机我毫无悬念地选择了最新最强的 Noctua CPU 散热器:Noctua NH-D15 G2。使用这款散热器有几点需要注意:

  • 我决定只装一个风扇而不是两个:只用一个风扇将是最安静的配置,同时对这个配置来说散热能力依然绰绰有余。
  • 它有 3 个不同的版本,区别在于底座的形状。Noctua 建议:“对于 LGA1851,我们通常推荐中等底座凸度的常规标准版本”(https://noctua.at/en/intel-lga1851-all-you-need-to-know
  • 这款散热器高度为 168 mm,可以很好地装入 Fractal Define 7 Compact Black。

CPU 和 GPU:空闲功耗与峰值性能

CPU 选择:Intel 而非 AMD

关于这次装机,最可能引发疑问的一点大概就是:为什么我选择 Intel CPU 而不是 AMD CPU。主要原因是 Intel CPU 在节能方面好太多了!

让我解释一下:网上大多数基准测试都是面向游戏玩家的,因此测量的是“启动游戏、让 PC 以 100% 资源运行数小时”这样的使用曲线。当然,如果你从不让机器空闲,你关心的会是能效(power efficiency):达到目标结果需要消耗多少电力?

我的使用场景是软件开发,不是游戏。我的使用曲线在“几乎无负载,因为 Michael 在阅读文字”和“用全部算力尽快完成这次编译”之间波动。对我而言,我需要空闲时的绝对功耗和绝对性能都做到一流。

AMD 的 CPU 性能出色(最近发布的 Ryzen 9 9950X3D 甚至比 Intel 9 285K 更快),能效也很好,但空闲时的功耗很差:以约 35W 的空闲功耗计,Zen 5 CPU 的功耗约是 Intel CPU 的 3 倍!

Intel 的 CPU 性能出色(和 AMD 一样),而且空闲时的功耗表现极佳。

因此,我无法心安理得地购买 AMD CPU,但如果你想要一台只用来打游戏的高速 PC,或者用这些 CPU 运行一直满载的 HPC 集群,那就放心去买吧 :)

显卡:nvidia 而非 AMD

我不一定推荐某款特定的 nvidia 显卡,但我不得不坚持使用 nvidia 显卡,因为它们是唯一能配合我那挑剔的 Dell UP3218K 显示器工作的选择。

我时不时会试用不同的显卡。最近,我买了一块 AMD Radeon RX 9070,因为我读到它与开源驱动配合得很好。

虽然 Radeon RX 9070 能配合我的显示器工作(很好!),但它空闲时似乎消耗 45W,远高于我那些空闲功耗约 20W 的 nvidia 显卡。这对我来说不可接受:除了高昂的电费和对宝贵资源的浪费之外,高功耗还意味着我的房间夏天会更热,风扇需要转得更快、因此也更响。

有人在社交媒体上问我这是否可能是测量误差(比如显卡上报的数值不准确),所以我用 myStrom WiFi Switch 复核了一下,确认使用 Radeon 显卡时,PC 从墙上插座确实多取电 20-30W。

为什么低空闲功耗如此重要

在我上一篇关于这台机器首次装机无法稳定运行的博客文章的评论中,有人问为什么要费心优化区区几瓦的功耗。人们会计算更高的功耗可能花费多少钱,把它与组件总成本相比较,然后得出结论:节省 ±10% 的价格不可能值得这么费心。

让我用一个小故事来说明低空闲功耗的重要性:整整一年,我深受一个 nvidia 驱动 bug 之苦,它导致 GPU 无法降到最节能的省电模式(因为我显示器的高分辨率)。10-20W 的差别本应微不足道。然而,当这个 bug 修复后,我注意到我的 PC 变得更安静了(风扇不需要加速),我的房间也明显凉快了下来——当时正值盛夏高温,这太棒了。

对我来说,拥有一个轻声细语般安静、又不会加热房间的计算环境,是一个实实在在、可衡量的现实益处。不浪费资源、省下一点小钱只是锦上添花。

显然,所有这些因素都非常依赖你的具体情况:你房子的热学特性可能与我不同,你对噪音的容忍度(和/或环境噪音水平)可能不同,你对资源消耗的重视程度可能更高或更低,等等。

安装

UEFI 设置

我在网上看到,主板默认的功耗限制(Power Limits)存在一些问题。因此,拿到主板后我立即做了一次 UEFI 固件更新。我使用 UEFI 固件界面中的 EZ Flash 工具,在一根 MS-DOS FAT 格式化的 U 盘上用提供的 ZIP 文件(PRIME-Z890-P-ASUS-1404.zip)升级到了 1404 版本(2025/01/10)。提示:不要解压这个 ZIP 文件,否则 EZ Flash 工具无法更新 Intel ME 固件。直接把 ZIP 文件原样放到 U 盘上即可。

我确认了在这个 UEFI 版本下,Power Limit 1 (PL1) 为 250W,ICCMAX=347A,这正是 Intel 推荐的数值。很好!

我还启用了 XMP,并确认 memtest86 没有报告任何错误。

软件设置:尝鲜的痛苦

为了把旧硬盘上的数据复制到新硬盘,我想启动一个 Linux live 发行版(具体来说是 grml.org),并按照我惯常的流程操作:用旧硬盘和新(空)硬盘启动,然后用 dd 复制数据。简单好用,很难出错。

遗憾的是,grml 2024.12 虽然技术上能启动,但有两个大问题:

  1. 没有网络连接,因为内核和 linux-firmware 版本太旧。

  2. 我完全无法让 Xorg 工作。无论用 Intel 集成 GPU 还是 nvidia 独立 GPU 都不行,用 nomodeset 或 grml 菜单里的其他任何选项也不行。这不仅仅是便利性问题:我需要使用 gparted(图形版)的分区移动/调整大小功能。

最终,更简单的办法是把我旧 PC 升级到 Linux 6.13 和 linux-firmware 20250109,然后装上新硬盘并复制安装。

给你的 SSD 做 TRIM

SSD 硬盘会随时间性能退化,因此操作系统必须告知 SSD 固件已释放的块(用于磨损均衡)。使用全盘加密时,所有相关层都需要启用 TRIM 支持。

我想我在 2022 年就亲眼见过 TRIM 配置不当的影响,当时我把数据从 Force MP600 复制到 WD Black SN850,竟然出乎意料地花了好几个小时!

为了确保我的硬盘健康长寿,我仔细确认了我的 Arch Linux 系统上周期性 TRIM 和持续 TRIM 都已启用fstab(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)
构建 Go 1.24.3(cd src; ./make.bash≈35s≈26s
gokrazy/rsync 测试(make test≈0.5s≈0.4s
gokrazy UEFI 测试(go test ./integration/...≈30s≈10s
gokrazy Linux 编译(gokr-rebuild-kernel -cross=arm643m 13s2m 7s

性能提升非常棒!编译 Linux 内核快了整整一分钟,真的很爽。

稳定性问题

今年 3 月,我发布了一篇关于这台机器首次装机不稳定的文章,你可以在其中详细了解我遇到的各种崩溃。

现在,到了 5 月初,在漫长的故障排查——期间我更换了这台 PC 的所有其他部件、退回 CPU 并拿到新的一颗之后——我可以确定是 CPU 有缺陷。

在这台机器中,CPU 是最难诊断的组件,因为它是 LGA 1851 插槽,而我(还)没有任何其他使用同一插槽的机器。AMD 长期沿用同一插槽的策略在这种情况下会好得多。

压力测试

当我发布那篇关于 PC 不稳定的博客文章时,我并不真正知道如何可靠地触发该问题。一些计算密集型任务(比如运行 Django 测试套件)似乎会触发它。我怀疑问题以某种方式变得更严重了,因为当我开始对机器进行压力测试时,它突然在每次编译 Linux 内核时都会崩溃。

这让我好奇其他知名的 CPU 压力测试工具(如 Prime95)是否会暴露问题,结果确实如此:几秒钟之内,Prime95 就会报告错误。

我决定把 Prime95 用作快速信号:如果它报告错误,机器就是有故障的。这通常发生在启动 Prime95 后的几秒内。

如果 Prime95 没有报告错误,我就用 Linux 内核编译作为慢速信号:如果能成功编译内核,机器大概率足够稳定。

我使用的具体设置是运行 ./mprime -m,按 N(不参与分布式计算项目),然后按几次 Enter 确认默认值。最终,Prime95 开始计算,把 CPU 推到 100% 使用率(参见我的 gokrazy/stat 实现输出的类似 dstat(1) 的内容),并从墙上插座取用预期的约 300W 功率:

运行 Prime95 对 CPU 进行压力测试的照片PC 功耗截图

此外,我还运行了几个小时的 MemTest86

运行 memtest86 的照片

需要说明的是:在之前那台不稳定的机器上,MemTest86 也成功跑过,所以如果遇到的是有缺陷的 CPU,只跑 MemTest86 是不够的。

RMA 时间线

  • 1 月 15 日:我收到新 PC 的组件
    • 1 月和 2 月期间,PC 偶尔崩溃。
  • 3 月 4 日:我换回旧 PC,开始写博客文章
  • 3 月 19 日:我发布关于机器不稳定的博客文章
    • 网上的讨论没有带来任何有用的提示或线索。
  • 3 月 20 日:我订购 AsRock Z890 Pro-A 主板,以确认主板没问题
  • 3 月 24 日:AsRock Z890 Pro-A 到货
  • 4 月 5 日(周六):为 CPU 发起 RMA(退换货)
    • 他们要求我把 CPU 寄给 orderflow,即履行我订单的商家。
    • 通常我更喜欢直接在 digitec 购买,但如今很多 PC 组件似乎在 digitec 上只能从 orderflow 购买。
  • 4 月 9 日(周三):包裹到达 orderflow(digitec 给了我一张非优先的退货标签)
  • 4 月 14 日(周一):我收到 digitec 客服的如下邮件,不得不解释说我已彻底诊断出 CPU 有缺陷(附上我博客文章的链接就够了):

商家已向制造商报告此事,制造商有以下问题:

为确认我们理解正确:您已在两块不同的主板上测试过 CPU,问题仍然存在吗?

能否告知我们所使用的两块主板的品牌和型号?

两块主板是否都使用了最新的 BIOS 版本?

问题是从一开始就存在,还是后来才出现的?

处理器是否被超频?(请注意,超频会使保修失效。)

  • 4 月 25 日(周五):orderflow 把替换的 CPU 交给瑞士邮政
  • 5 月 1 日(周四):机器成功通过压力测试;我开始使用它

总之,3 月份我没有可用的 PC,但那是因为我没多少时间处理这件事。然后 4 月份我又没有可用的 PC,因为通过 digitec 对 Intel CPU 做 RMA 似乎相当慢。我希望他们能多一点信任,直接立刻寄来替换的 CPU。

结论

这次装机真是过山车般的时间黑洞!我这辈子从未收到过到手即坏的 CPU。我最初收到的那颗 CPU 是怎么通过 Intel 的质量控制的?还是说它通过了质检,但在运输中损坏了?我可能永远不会知道。

从今以后,我知道要对新装的 PC 进行充分的稳定性压力测试,以便更快发现这类问题。如果 CPU 有缺陷,不幸的是,更换它是一个长达一个月的过程——让这么昂贵的机器吃一个月灰,实在令人恼火。

不过,在换掉有缺陷的组件之后,这是我有史以来最好的一次装机:

机箱的尺寸对组件来说恰到好处,并且在这台 PC 的整个生命周期——包括故障排查阶段,以及它日后被轮换为“实验室机器”、最终在我把它二手卖给某个 hopefully 会再用好几年的人之前的阶段——都提供了极其方便的组件访问。

这台机器很安静,功耗很低(对于如此强大的机器而言),而且实力强劲!

和往常一样,我在这台 PC 上运行 Linux,在日常使用中没有发现任何问题。我每天多次使用挂起到内存,毫无问题。

希望这些细节中有一些对你自己的装机有用、有趣!

如果你想了解除了 8K 显示器之外我还使用哪些外设(例如 Kinesis Advantage 键盘、Logitech MX Ergo 轨迹球等),请查看我的文章 stapelberg uses this: my 2020 desk setup。我可能会在某个时候发布一个更新版 :)

原文由 Michael Stapelberg 发布

本文章由 stealth/ox-alpha 进行翻译