Linux на ноутбуках/десктопах

Энергосбережение

Недавно пробовал ноут на AMD Ryzen 7 5800U, на нем и производительность и автономность из коробки (с amd_pstate=active) была превосходная.

А на моем дефолтном ноуте Dell Latitude 7490 на i7-8650U с этим проблемы - надо найти подходящий баланс между автономностью и быстродействием.

Тут конечно поможет

TLP 

Я сейчас живу с таким конфигом:

CPU_DRIVER_OPMODE_ON_AC=active
CPU_SCALING_GOVERNOR_ON_AC=powersave
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance

CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=100
CPU_DRIVER_OPMODE_ON_BAT=passive
CPU_SCALING_GOVERNOR_ON_BAT=conservative
#CPU_SCALING_GOVERNOR_ON_BAT=schedutil
CPU_SCALING_MIN_FREQ_ON_BAT=400000
CPU_SCALING_MAX_FREQ_ON_BAT=2500000

CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=1

CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=1

NMI_WATCHDOG=0

# Можно поиграться, но я не пробовал
#INTEL_GPU_MIN_FREQ_ON_AC=0
#INTEL_GPU_MIN_FREQ_ON_BAT=0
#INTEL_GPU_MAX_FREQ_ON_AC=0
#INTEL_GPU_MAX_FREQ_ON_BAT=0
#INTEL_GPU_BOOST_FREQ_ON_AC=0
#INTEL_GPU_BOOST_FREQ_ON_BAT=0

PCIE_ASPM_ON_AC=default
PCIE_ASPM_ON_BAT=powersupersave
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

# костыль чтобы звук по bluetooth не рвался при активном трафике по wifi, но это не помогает и кажется надо менять модуль
USB_DENYLIST="1d6b:0002"
USB_EXCLUDE_BTUSB=1
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off

Поясняю в чем фишка: intel_pstate немного неадекватно рулит частотой, и ограничить частоту просто так нельзя, можно только в абстрактных процентах. И турбобуст при этом тоже нужен, т.к. чатоты 1.9 ГГц нехватает.

Passive режим pstate в связке с conservative говернором позволяет балансировать между низким энергопотреблением (ибо conservative) и достаточным для жизни турбобустом в 2.5 ГГц (для чего в ноутбук засунули турбобуст до 4.2 ГГц мне искренне непонятно). Еще можно смело снизить порог снижения чатоты - conservative говернор будет еще шустрее снижать частоту при снижении нагрузки на систему. 

# агрессивнее снижать частоты
echo 5 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/down_threshold 
# не так часто запускать говернор, мне это помогло убрать подскоки частоты с 800 до 1200 в ютубе
echo 10000 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/sampling_rate

# В итоге промежуточно как-то так
echo 30 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/down_threshold
echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/freq_step 
echo 2 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/sampling_down_factor 
echo 80 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/up_threshold 
echo 25000 | sudo tee /sys/devices/system/cpu/cpufreq/conservative/sampling_rate 

При этом повышается частота достаточно быстро, в околобраузерном использовании не заметно просадок производительности.

Аппаратный декод видео

Могу лишь посоветовать почитать статью https://wiki.archlinux.org/title/Hardware_video_acceleration и смотреть наличие декода через nvtop или intel_gpu_top.

Жоский тюнинг проца

Вот тут можно настроить длительный буст и короткий буст 

/sys/class/powercap/intel-rapl:0

in /sys/class/powercap/intel-rapl:0 λ cat constraint_0_name 
long_term
in /sys/class/powercap/intel-rapl:0 λ cat constraint_1_name
short_term

# По дефолту для ноутбука тут какие-то сильно завышенные лимиты (i7-8650u)
in /sys/class/powercap/intel-rapl:0 λ cat constraint_0_power_limit_uw 
22000000
in /sys/class/powercap/intel-rapl:0 λ cat constraint_1_power_limit_uw 
44000000

# Говорят так будет хорошо на батарее
in /sys/class/powercap/intel-rapl:0 λ echo 10000000 | sudo tee constraint_0_power_limit_uw
10000000
in /sys/class/powercap/intel-rapl:0 λ echo 12000000 | sudo tee constraint_1_power_limit_uw 
12000000

Также смотри на intel-undervolt, там можно урезать TDP, вольтаж и детально играться с потреблением проца.

Мониторить потребление можно так

sudo turbostat --Summary --interval 5 --show Avg_MHz,Busy%,Bzy_MHz,IRQ,PkgTmp,PkgWatt,GFXWatt

Утилиты

[AUR] energygraph

https://github.com/stolk/energygraph 

Консольная утилита которая строит график потребления системы. 

Снимок экрана_20241020_143134.png

[Repo] turbostat

Утилита которая графики не строит, но выводит много полезной информации, в т.ч. потребление каждого компонента системы.

Пример:

sudo turbostat --Summary --interval 2 --show Avg_MHz,Busy%,Bzy_MHz,IRQ,PkgTmp,PkgWatt,CorWatt,GFXWatt,RAMWatt,UncMHz

 

 

Снимок экрана_20241020_143323.png

 

Папки в твоем хомяке

Хочешь сбросить что-то в своей системе? Смотри сюда

Пользовательские приложения и mime привязки: $HOME/.local/share/applications

 

Ищу себе ноутбук

Заметка больше для себя.

Ищу ноутбук, который:

Вендор Модель
Проц
Батарея в ватт-часах (минуты в интернете согласно notebookcheck)
Экран (диаг)
Экран
ОЗУ/Диск/Кастомизация
GPU
Трекпоинт Цена
Dell
Latitude 7490
i7-8650U
60 Wh (561)
14
FHD IPS
32/1024/+
iGPU
+
32k
Framework
16
R7-7840HS
85 Wh
16

64/2048/+
iGPU/dGPU
-
Много
System76
Pangolin R7-7840U 70 Wh (10h)
16.1
FHD IPS
32/16T/+
iGPU
-
1.3k$
System76 Lemur Pro i5-1335U 73 Wh (14h)
14.1
FHD IPS
56/8T/+
iGPU -
1.4k$
HP
ProBook 455 G10
R5-7530U 51 Wh
15.6
FHD IPS
32/2048/+
iGPU
-
84к
HP 
ProBook 455 G8 R7-5800U
45 Wh 15.6
FHD IPS
32/512/+
iGPU
-
64к
Thinkpad
T16 Gen2
i7-1355U 52 Wh (690)
16
FHD IPS
16/512/+
iGPU
+

Thinkpad
T16 Gen1
R7P-6850U
52.5 Wh (635)
16
FHD IPS
48/512/+
dGPU Geforce MX550
+
60-70k
Thinkpad T16 Gen1 i5-1240P
86 Wh (846)
16 FHD IPS 48/512/+
iGPU
+

HP
EliteBook 865 G9
R5-6600U

51 Wh (899)