给笔记本也加到 48G 内存——ThinkPad T14 Gen2 AMD 版本简评
本文在 2023-02-06 更新了 Possible Hardware bug 章节
当我还在 PingCAP 工作的时候,我的主力电脑是从大学时候一直流传下来的 ThinkPad X1 Carbon Gen5 ,但是由于当时买的是最低配置的版本,内存只有 8G,从大学毕业开始就已经越来越不够用了,在浏览器开了很多标签页且还需要使用 VSCode 进行开发的时候经常 RAM 用满 SWAP 狂写。
在 2020 年疫情开始之后,在家工作的时间越来越多,借着这个机会自己组装了一台 16G 内存的台式机,开启了长期 Remote 工作的生活,此时 ThinkPad 仅仅作为在偶尔需要出门的时候带上用来回复消息并处理简单事务的“终端机”。
在后来由于各种各样的需求(比如编译 TiKV),16G 内存也偶尔出现了不够用的情况,于是又给电脑额外加入了两条 16G 内存,让台式机内存扩展到了 48G,至此,台式机已经成为了一个比较稳定的工作电脑,可以应付几乎所有的日常工作了,看着几乎永远也用不满的内存和再也不用打开的 SWAP,工作时开 20+ 个容器和 50+ 浏览器标签时候看着已经使用了接近 40G 的内存,内心非常满足。
但是出门该怎么办?
本着这个需求我还是需要一台靠谱的笔记本电脑满足出门的工作需求,对于我个人的使用习惯(Fedora + i3WM)的情况来看,我对于笔记本的需求大概如下:
- 最好不要有独立显卡(考虑耗电量/重量和驱动兼容程度)
- 屏幕和音箱素质完全不在意,倾向于 14 英寸的屏幕,但是由于不想折腾 DPI 的问题,所以最好是 1080P 的雾面屏
- 续航时间尽可能长
- 键盘手感需要足够好
- 机器需要足够耐艹,不能进水就凉了
- 如果性价比高就更好了
作为一个 ThinkPad 老用户,我的第一反应就是继续购买 ThinkPad X1 Carbon,但是看了一下 10Gen 的 X1 Carbon 国行最大也就 32G 内存并配置了一个 4K 的镜面屏幕,虽然 2W CNY 左右的价格对应这个配置来看性价比也没有差到离谱,但是一想到 32G 的板载内存 + 4K 镜面屏幕就让我对它失去了一切想法。
经过一番调研,发现只有 ThinkPad T14 AMD 版本符合这个要求,5699 CNY 的价格(16G RAM + 512G)加上 699 CNY 可以买到的单条 32G DDR4 3200Mhz 的内存,只要 6398 CNY,即可获得一个和 ThinkPad X1 Carbon 差不多的 CPU + 更大的内存,而重量只比 X1 Carbon 重了 300g。
购买方式为京东,链接分别为: https://item.jd.com/100028177970.html 和 https://item.jd.com/100007630859.html ,如果价格不是上述价格说明他们又开始耍猴了。
ThinkPad T14(左) 和 ThinkPad X1 Carbon(右) 对比(图片拍摄者:@tukideng)
基本信息
.',;::::;,'. Nova@Think
.';:cccccccccccc:;,. ----------
.;cccccccccccccccccccccc;. OS: Fedora 3x (Workstation Edition) x86_64
.:cccccccccccccccccccccccccc:. Host: 20XKA001CD ThinkPad T14 Gen 2a
.;ccccccccccccc;.:dddl:.;ccccccc;. Kernel: 5.17.8-100.fc3x.x86_64
.:ccccccccccccc;OWMKOOXMWd;ccccccc:. Uptime: 23 days, 3 hours, 35 mins
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:. Packages: 6728 (rpm)
,cccccccccccccc;MMM.;cc;;WW::cccccccc, Shell: zsh 5.8.1
:cccccccccccccc;MMM.;cccccccccccccccc: Resolution: 2560x1440
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc: WM: i3
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc; Theme: deepin [GTK3]
ccccc:XM0';cccc;MMM.;cccccccccccccccc' Icons: deepin [GTK3]
ccccc;MMo;ccccc;MMW.;ccccccccccccccc; Terminal: gnome-terminal
ccccc;0MNc.ccc.xMMd:ccccccccccccccc; CPU: AMD Ryzen 7 PRO 5850U with Radeon Graphics (16) @ 1.900GHz
cccccc;dNMWXXXWM0::cccccccccccccc:, GPU: AMD ATI 06:00.0 Cezanne
cccccccc;.:odl:.;cccccccccccccc:,. Memory: 22779MiB / 47058MiB
:cccccccccccccccccccccccccccc:'.
.:cccccccccccccccccccccc:;,..
'::cccccccccccccc::;,.
cpuinfo:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical, 48 bits virtual
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 25
Model: 80
Model name: AMD Ryzen 7 PRO 5850U with Radeon Graphics
Stepping: 0
Frequency boost: enabled
CPU MHz: 1600.000
CPU max MHz: 4505.0781
CPU min MHz: 1600.0000
BogoMIPS: 3793.17
Virtualization: AMD-V
L1d cache: 256 KiB
L1i cache: 256 KiB
L2 cache: 4 MiB
L3 cache: 16 MiB
NUMA node0 CPU(s): 0-15
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes
xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid c
qm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_v
msave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
网卡信息:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0e)
03:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
ThinkPad T14(右) 和 ThinkPad X1 Carbon(左) 对比(图片拍摄者:@tukideng)
续航时间
对于续航而言,在日常工作的时候(两个浏览器总共开 40+ 个标签,一个 VSCode ,10+ 个容器(包括 MySQL 和 Go 应用)),此时内存使用量在 30G ~ 40G 之间,Load Average 0.9 ~ 3.0 之间浮动,i3WM 显示满电续航大约为 6 小时,在这一点上似乎甚至有点不如已经使用多年的 X1 Carbon。
发现如果在 Linux 上需要切换不同电源模式的话可以用类似如下指令:
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
驱动 && BIOS
对于 Fedora 而言,没有遇到任何驱动问题,直接安装即可,如果需要用 brightlight
调节屏幕亮度的话需要手动指定一下亮度文件,指令类似如下:
brightlight -d 20 -f /sys/class/backlight/amdgpu_bl0
买回来的时候 BIOS 版本比较老,可以直接从联想官网 https://think.lenovo.com.cn/support/driver/driverdetail.aspx?DEditid=94134&docTypeID=DOC_TYPE_DRIVER&driverID=undefined&treeid=PF3FQAQJ&args=%3Fcategoryid%3DPF3FQAQJ%26CODEName%3DThinkPad%2520T14%2520AMD%2520Gen%25202%26SearchType%3D%25201%26wherePage%3D%25202 上找到 「光盘版」驱动用 gnome-disks
写到 U 盘上并通过从 U 盘启动的方式进行安装。
这里有一点比较奇怪,可能是由于散热的问题,在上述负载下,通过 glances
看到 CPU 温度在 55C 左右,风扇依然会以一个比较低的转速常年开启(虽然噪音相比较 X1C 小很多)。
Possible Hardware bug
这个部分是在 2023-02-06 更新的
在使用过程中遇到了如下问题:
笔记本常年不会手动关机,现在遇到的问题是它会在半夜偶发自动关机(可能没有关机,各个电源灯都是亮的,但是外接显示屏显示绿色,笔记本显示屏显示纯黑色,键盘鼠标没有任何响应)的问题,遇到这种问题一般只能长按电源硬关机
笔记本温度监控图,中线那些直线就是监控丢了之后直到第二天起床重新后监控恢复之后直接两边数据点连接了拉出来的,监控上显示关机前(或者至少最后看到有监控上传数据的时间)没有任何 CPU/RAM/温度 异常,所以应该也不是过热保护的问题
BIOS 版本是最新的(1.21),且在 BIOS 中 Sleep State 选的是 Linux ,并关闭了 CPU Power Management (最早 Sleep State 是 Windows 10 ,且 CPU Power Management 是 Enabled ,当时怀疑是这两个原因导致,关闭后发现问题还是存在
前段时间测过把这个硬盘丢 AMD CPU 的台式机上跑,然后找个 Windows 的硬盘放在笔记本上,两边持续开机 10+ 天都没有出现类似的问题。
用 journalctl -xe -b -1
看关机附近也没看到异常的日志,目前怀疑是 AMD CPU 的 firmware 上有什么 Bug 或者之类的情况,暂时这个问题没有得到解决。
键盘/硬件手感
电脑买来的第一时间我就把它拆开加装了内存并换上了原有的 NVMe SSD,从拆的手感而言,D 面硬度不如 ThinkPad X1 Carbon,有种塑料的感觉,而且自带的 SSD 螺丝非常的紧,直接干废了我的一个螺丝刀…
键盘不是类似 X1 Carbon 那样的光滑平面了,而是一个比较粗糙的平面,按压手感相比较 X1 Carbon 有所下降,但是好在下降不多。
屏幕素质和音响一如既往的一般,不应该对他们有什么期待,此外这台电脑自带 RJ45 接口,对于我这种在家所有能接网线的设备都要接网线的人来说是一大福利(再也不用什么 RJ45 -> Type-C 转接了),这点好评。
别的方面中规中矩,就是一个标准的 ThinkPad 的感觉,网上也找不到针对这台电脑的 Torture Test 所以至于浇水上去会不会直接挂掉也有点难说,不过不考虑这些点的话,似乎性价比不错了。
简评以上,如果之后有想到什么别的我会继续更新这篇文章的。