最近 Arch Linux 用起来有点慢,有时候桌面会卡住一两秒。我用 auto-cpufreq(1.7.2) 调节 CPU 频率,该不会是它出问题了吧。先看看数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
❯ sudo auto-cpufreq --stats
Note: You can quit stats mode by pressing "ctrl+c"
Executed on: December 06 (Monday) - 01:05:35
-------------------------------------------------------------------------------
Linux distro: Arch Linux rolling n/a
Linux kernel: 5.15.6-zen2-1-zen
Processor: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
Cores: 8
Architecture: x86_64
Driver: acpi-cpufreq
------------------------------ Current CPU stats ------------------------------
CPU max frequency: 2100 MHz
CPU min frequency: 1400 MHz
Core Usage Temperature Frequency
CPU0: 11.0% 43 °C 1397 MHz
CPU1: 8.2% 43 °C 1397 MHz
CPU2: 10.0% 43 °C 1400 MHz
CPU3: 13.9% 43 °C 1400 MHz
CPU4: 16.2% 43 °C 1400 MHz
CPU5: 7.0% 43 °C 1400 MHz
CPU6: 13.0% 43 °C 1400 MHz
CPU7: 8.9% 43 °C 1400 MHz
---------------------------- CPU frequency scaling ----------------------------
Battery is: discharging
Setting to use: "powersave" governor
Total CPU usage: 1.2 %
Total system load: 0.44
Average temp. of all cores: 42.75 °C
Load optimal
setting turbo boost: off
-------------------------------------------------------------------------------
|
果然出问题了,我的笔记本在充电,auto-cpufreq 错误地认为电脑没充电,将调频器设置为 powersave,而且频率只有 1400 MHz。Ryzen 5 3500U 的最高频率可是 3700 MHz 啊。解决办法就是禁用或卸载 auto-cpufreq。
1
2
3
4
|
# 禁用
sudo systemctl disable --now auto-cpufreq.service
# 卸载
sudo pacman -Rsn auto-cpufreq
|
1.8.0 版本修复了充电检测的问题,但我使用设置充电阈值(charge threshold)之后 auto-cpufreq 会认为笔记本未充电。用了 auto-cpufreq 之后用 Geekbench 跑分比不用还低,TLP 就没这个问题。auto-cpufreq 实在太多问题了,已弃用。
排查问题的时候发现几个好用的工具:
- TLP:省电利器
- cpupower:查看/调节 CPU
- cpupower-gui:查看/调节 CPU,图形界面
- Geekbench:CPU 评测工具,可根据分数检查 CPU 性能