Escalado de la fracuencia de la CPU

Hola:

Este es un tema que hace tiempo no toco, uno porque la bios, tenía el control (me supongo que con el kernel, la controlara los acpi, los estados,c, etc) ; también por una opción mejorada de Asus, para estos temas.
El caso es que he notado que, mantiene la frecuencia muy baja, la temp, estaba sobre 29 a 31ºC, (baje un poco la bomba y subio a 35º) , en esta estación de trabajo lleva un 12 núcleos y 12 hilos+ 128Gb de ram, y el arranque lo hace en un raid 0 de M2 de 3ª generación (7G a 8Gs) , aún así le noto un poco de rendimiento algo bajo , en cálculos de render, de filtros, etc…(comparado con portátil hp de 6 núcleos 6 hilos ) .
Bien lo que he observado es que la frecuencia no varia , y que solo tiene, dos posibilidades: porwersave y performance .
Lo mismo he comprobado la del portátil y también tiene lo mismo, estando ambos en powersave, comprendo que para el hp, está bien, para que dure mas las baterías , pero en WS, debería tener otras posibilidades, como por ejemplo bajo demanda.

Pero los comandos me dicen que no, solo tiene esas dos :
mikrios-hp:~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

(visto cpu0 , con un for i , he comprobado, las otras, pero no se porque no me funciona ahora) .
mikrios-hp:~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
866429
y freq. en hp 866MHZ .

Mis dudas son las siguientes , depende de que el governor de la cpu, lo lleve incluido en el kernel ?
Puede la CPU , configurarse, (como antes, para que varíe, dependiendo de la demanda, estados C, etx) ?

Los 4 estados de Governor, están disponibles en todos los equipos ? (y no solo esos 2) .

Esas son mis dudas, la solución, es fácil , con un simple comando, puedo pasar de uno a otro, y si quiero que quede persistente, se modificaría el archivo y se dejaría fijo ( por ahora excepto cambiar frecuencia no es problema, el mirar la bios , si ya que está en 24/7 , y hasta que no termine no puedo probar lo ahí) .

He visto por la web, una aplicación (creo que en ubunto) , en el cual se puede cambiar la frecuencia de forma manual , por otro lado he encontado, comparado con otras distros, pocos comandos , para manejar esto (tanto en yast, como en la pag. de software de OpenSUSE ) .

Saludos

System:
  Host:  Kernel: 6.11.5-1-default arch: x86_64 bits: 64
  Desktop: GNOME v: 47.1 Distro: openSUSE Tumbleweed 20241028

Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz 

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
ondemand performance schedutil 

cpupower frequency-info

analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.30 GHz
  available cpufreq governors: ondemand performance schedutil
  current policy: frequency should be within 1.20 GHz and 3.30 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.

free -h
               total        used        free      shared  buff/cache   available
Mem:           125Gi       6.3Gi        76Gi       166Mi        44Gi       119Gi
1 Like
System:
  Host: Kernel: 6.11.5-1-default arch: x86_64 bits: 64
  Console: pty pts/0 Distro: Aeon

Intel(R) N100

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       1.5Gi        12Gi       265Mi       1.6Gi        13Gi

System:
  Host: Kernel: 6.4.0-150600.23.22-default arch: x86_64 bits: 64
  Console: pty pts/1 Distro: openSUSE Leap 15.6

Intel(R) Celeron(R) N5095 @ 2.00GHz

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

cpupower frequency-info
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 800 MHz - 2.90 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 800 MHz and 2.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.

free -h
               total        used        free      shared  buff/cache   available
Mem:           7.5Gi       766Mi       5.9Gi       152Mi       1.3Gi       6.8Gi

Hola:

He pasado a performance, desde consola (como el pc no se apaga, se mantiene, hasta el próximo reinicio) .
El equipo está con Leap 15.5 :
mikrios:~ # inxi -SMCIiz
System:
Kernel: 5.14.21-150500.55.83-default arch: x86_64 bits: 64
Console: pty pts/1 Distro: openSUSE Leap 15.5
Machine:
Type: Desktop Mobo: ASUSTeK model: PRIME X299-DELUXE II v: Rev 1.xx
serial: UEFI: American Megatrends v: 3601 date: 09/24/2021
CPU:
Info: 12-core model: Intel Core i9-10920X bits: 64 type: MT MCP cache:
L2: 12 MiB
Speed (MHz): avg: 4325 min/max: 1200/4800:4700:4600 cores: 1: 4325 2: 4325
3: 4325 4: 4325 5: 4325 6: 4325 7: 4325 8: 4325 9: 4325 10: 4325 11: 4325
12: 4325 13: 4325 14: 4325 15: 4325 16: 4325 17: 4325 18: 4325 19: 4325
20: 4325 21: 4325 22: 4325 23: 4325 24: 4325
Network:
Device-1: Intel Ethernet I219-V driver: e1000e
IF: eth1 state: up speed: 1000 Mbps duplex: full mac:
IP v4: scope: global
IP v6: scope: link
Device-2: Aquantia AQC111 NBase-T/IEEE 802.3bz Ethernet [AQtion]
driver: atlantic
IF: eth0 state: down mac:
Device-3: Intel Wi-Fi 5 Wireless-AC 9x6x [Thunder Peak] driver: iwlwifi
IF: wlan0 state: down mac:
WAN IP:
Info:
Memory: total: 128 GiB note: est. available: 125.48 GiB
used: 4.36 GiB (3.5%)
Processes: 505 Uptime: 1d 10h 23m Shell: Bash inxi: 3.3.36

Desde consola ha pasado de 1200MHZ a los 4325 MHZ . ( y la temp. subio a 31 a 36ºC sin aplicaciones ejecutando se ) .

On Demand (no aparece en esta versión) o no encuentro comando para verlo (probé varios y no muestran bajo demanda .

mikrios:~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
mikrios:~ # cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave

Pero, en esas condiciones , está variando :
mikrios:~ # inxi -SMCz
System:
Kernel: 5.14.21-150500.55.83-default arch: x86_64 bits: 64
Console: pty pts/1 Distro: openSUSE Leap 15.5
Machine:
Type: Desktop Mobo: ASUSTeK model: PRIME X299-DELUXE II v: Rev 1.xx
serial: UEFI: American Megatrends v: 3601 date: 09/24/2021
CPU:
Info: 12-core model: Intel Core i9-10920X bits: 64 type: MT MCP cache:
L2: 12 MiB
Speed (MHz): avg: 1200 min/max: 1200/4800:4700:4600 cores: 1: 1200 2: 1200
3: 1200 4: 1200 5: 1200 6: 1200 7: 1200 8: 1200 9: 1200 10: 1200 11: 1200
12: 1200 13: 1200 14: 1200 15: 1200 16: 1200 17: 1200 18: 1200 19: 1200
20: 1200 21: 1200 22: 1200 23: 1200 24: 1200
Ha vuelto de nuevo a 1200MHZ .

A pesar de no listar on demand, ¿ esto que lo hace la bios ? o lo hace el kernel ? (recuerdo haber visto esa configuración en la bios) .

Gracias y un Saludo.

PD. quizás esas variaciones se deban a su estado térmico , La temp. es baja :
mikrios:~ # sensors
nouveau-pci-c100
Adapter: PCI adapter
fan1: 0 RPM
temp1: +48.0°C (high = +95.0°C, hyst = +3.0°C)
(crit = +105.0°C, hyst = +5.0°C)
(emerg = +135.0°C, hyst = +5.0°C)

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: N/A

nvme-pci-0100
Adapter: PCI adapter
Composite: +44.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +35.0°C (high = +100.0°C, crit = +110.0°C)
Core 0: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 1: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 2: +32.0°C (high = +100.0°C, crit = +110.0°C)
Core 4: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 5: +32.0°C (high = +100.0°C, crit = +110.0°C)
Core 8: +32.0°C (high = +100.0°C, crit = +110.0°C)
Core 9: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 10: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 11: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 12: +32.0°C (high = +100.0°C, crit = +110.0°C)
Core 13: +33.0°C (high = +100.0°C, crit = +110.0°C)
Core 14: +32.0°C (high = +100.0°C, crit = +110.0°C)

nvme-pci-a400
Adapter: PCI adapter
Composite: +34.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

nvme-pci-e100
Adapter: PCI adapter
Composite: +61.9°C (low = -273.1°C, high = +69.8°C)
(crit = +69.8°C)
Sensor 1: +61.9°C (low = -273.1°C, high = +69.8°C)

nvme-pci-0200
Adapter: PCI adapter
Composite: +40.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

nct6796-isa-0290
Adapter: ISA adapter
Vcore: +0.95 V (min = +0.00 V, max = +1.74 V)
in1: +1.01 V (min = +0.00 V, max = +0.00 V) ALARM
AVCC: +3.38 V (min = +2.98 V, max = +3.63 V)
+3.3V: +3.30 V (min = +2.98 V, max = +3.63 V)
in4: +1.00 V (min = +0.00 V, max = +0.00 V) ALARM
in5: +0.22 V (min = +0.00 V, max = +0.00 V) ALARM
in6: +0.68 V (min = +0.00 V, max = +0.00 V) ALARM
3VSB: +3.38 V (min = +2.98 V, max = +3.63 V)
Vbat: +3.14 V (min = +2.70 V, max = +3.63 V)
in9: +1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in10: +0.67 V (min = +0.00 V, max = +0.00 V) ALARM
in11: +0.42 V (min = +0.00 V, max = +0.00 V) ALARM
in12: +1.01 V (min = +0.00 V, max = +0.00 V) ALARM
in13: +0.23 V (min = +0.00 V, max = +0.00 V) ALARM
in14: +0.50 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 517 RPM (min = 0 RPM)
fan2: 1216 RPM (min = 0 RPM)
fan3: 598 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan6: 4736 RPM (min = 0 RPM)
fan7: 2261 RPM (min = 0 RPM)
SYSTIN: +38.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
CPUTIN: +34.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
AUXTIN0: +44.5°C sensor = thermistor
AUXTIN1: +44.0°C sensor = thermistor
AUXTIN2: +65.0°C sensor = thermistor
AUXTIN3: +57.0°C sensor = thermistor
PECI Agent 0: +35.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +110.0°C)
PECI Agent 0 Calibration: +34.0°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: ALARM
beep_enable: disabled

nvme-pci-a300
Adapter: PCI adapter
Composite: +38.9°C (low = -5.2°C, high = +79.8°C)
(crit = +84.8°C)

eth0-pci-0400
Adapter: PCI adapter
PHY Temperature: +49.2°C
MAC Temperature: +54.8°C

nvme-pci-a200
Adapter: PCI adapter
Composite: +37.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

nvme-pci-a100
Adapter: PCI adapter
Composite: +37.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

nvme-pci-4800
Adapter: PCI adapter
Composite: +45.9°C (low = -5.2°C, high = +83.8°C)
(crit = +87.8°C)

intel_cpufreq (ondemand performance schedutil) vs intel_pstate (performance powersave)

https://www.kernel.org/doc/html/v5.0/admin-guide/pm/intel_pstate.html

Add “intel_pstate=passive intel_pstate=no_hwp cpufreq.default_governor=schedutil msr” to grub

Intel(R) Celeron(R) N5095 @ 2.00GHz now

cpupower frequency-info
analyzing CPU 3:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 2.90 GHz
  available cpufreq governors: ondemand performance schedutil
1 Like

Hola: Con Leap, no viene ; tampoco hay información de los estados P, solo dice los estados C (soportando C3) .

Creo que la demanda del soft, bios y la temperatura, sean claves de que soporten otras frecuencias, (de forma manual , y de consola esas 2) .

Puse en marcha cpu-x y he observado que cambian .

Leí el enlace, y está muy interesante, otro día , mirare el datasheet de la cpu, ahora no, ya que de paso, actualice la bios (estaba del año 2021 y la pase al 6 del 2024, he tenido un tiempo para configurar de nuevo la bios , ademas esta lleva una placa VROC (raid virtual sobre la cpu , formada por 4 nvme ram) .

Algunos de los comandos, no los he encontrado ni en los repositorios, ni en la pagina de soft) (causa por la que unos de los logs me daba error) , mirare de completarlo y y con las caracteristicas de la cpu, mirare si desde la bios se puede controlar , si no añadiré la linea que has puesto debajo del enlace .

Comentarte que cpu-x, indistintamente marca una frecuencia , dependiendo de núcleo , core 0 1200MHZ y core 1 3500MHZ , con inxi, están todas a powersave, (1200MHZ)

Haber si consigo mas soft, para medir y comprobar esto ; lo que tengo es :
mikrios-hp:~ # compgen -abc |grep -e cpu*
_ncpus
chcpu
acpi_genl
acpidump
xfs_rtcp
ntfscp
chcpu
rcpostfix
rcpcscd
rcwickedd-dhcp4
rcwickedd-dhcp6
rcpackagekit
rmcp-ping
rmcpping
rcpesign
rcpowertop
cpufreq-bench
cpupower
cpp-7
cp
cpan
cpanel_json_xs
rpm2cpio
ycpc
wol-dhcpdconf
fixmacps
cpp
acpi_validate
acpibin
acpiexamples
acpiexec
acpihelp
acpisrc
acpixtract
cpupcstat
cpio
scp
lscpu
kdecp
kdecp5
escputil
vncpasswd
vncpasswd.arg
chcp
lscp
mkcp
rmcp
escp2topbm
macptopbm
pbmtoescp2
pbmtomacp
hwloc-gather-cpuid
spa-acp-tool
cpclean
cpfind
geocpset
icpfind
dcparse
cpulimit
cpufreq-bench_plot.sh
cpu-x
cpuid
cpuinfo2cpuid
cp
cpio
mikrios-hp:~ #
Incluido inxi, lscpu,dmedecode, anque alguno me falla, o no lo pongo correctamente .
Gracias y un saludo cordial

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.