Tal y como comentamos anteriormente, en Youyeetoo tienen muy claro que el principal uso del NestDisk es funcionar como NAS, trabajando de forma continua y sin descanso. Por eso han dedicado mucho tiempo y esfuerzo a diseñar un equipo capaz de mantener una temperatura estable y proteger sus componentes internos, lo que explica que en el test anterior no aparezca thermal throttling apreciable… gracias al PowerCap, por ejemplo.
ℹ️ ¿Qué es el PowerCap y quien lo utiliza?
El sistema powercap/Intel RAPL es exclusivo de procesadores Intel (y algunos AMD modernos). Los SBC basados en procesadores ARM —incluyendo Raspberry Pi, Rockchip, Apple Silicon, etc.— NO lo usan.
El subsistema powercap del kernel Linux para gestionar los límites de potencia es un marco genérico, pero…
👉 solo Intel implementa un driver completo: intel_rapl
👉 AMD tiene algo parcial (amd_pstate + amd_energy), pero no es RAPL
👉 ARM no implementa RAPL ni powercap como Intel
🟩 Intel RAPL (Running Average Power Limit)
Es la tecnología que permite:
- fijar PL1 (potencia sostenida)
- fijar PL2 (potencia turbo)
- medir energía consumida
- limitar consumo en tiempo real
Esto es exclusivo de Intel. Por eso el NestDisk (Intel N150) sí lo soporta.
🟧 ¿Qué pasa en ARM?
Los procesadores ARM NO usan powercap ni RAPL.
En su lugar usan:
✔ DVFS (Dynamic Voltage and Frequency Scaling)
Control de frecuencia/voltaje por clúster.
✔ cpufreq governors
ondemand, schedutil, performance, etc.
✔ Thermal throttling propio del SoC
Cada fabricante implementa su sistema:
- Broadcom (Raspberry Pi)
- Rockchip
- Qualcomm
- Apple Silicon
- Amlogic
- Allwinner
✔ No existe PL1/PL2 en ARM
No hay equivalentes directos a:
/sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uwintel_raplpowercap-set
🟦 Raspberry Pi en concreto
La Raspberry Pi usa:
vcgencmd measure_tempcpufreqpara frecuencias- un sistema térmico propio que baja MHz cuando llega a 80 °C
- NO tiene powercap
- NO tiene RAPL
- NO tiene PL1/PL2
Aquí está la clave:Si el límite PL1 del PowerCap es bajo (como los 8 W del NestDisk), la CPU puede “throttlear” sin calentarse
Esto NO es thermal throttling. Es power throttling y ocurre así:La CPU intenta subir frecuencia. Llega a 8 W. Powercap (RAPL) dice: “hasta aquí hemos llegado” y baja la frecuencia aunque esté a 50–60 °C.👉 Resultado: rendimiento limitado sin subida de la temperaturaThermal throttling solo ocurre si la CPU supera su temperatura máxima. En Alder Lake‑N suele ser ~100 °C.Si tu disipador es bueno, no llegarás a thermal throttling, porque Powercap te frena antes.
Aunque por defecto el sistema arrancará con el valor del PL1 por defecto de su firmware (8 W en el NestDisk) se puede modificar este valor desde la consola según te describimos a continuación.
Como «acelerar» el NestDisk
Creación de un script ejecutable desde la consola para modificar el valor de PL1 (límite de potencia para el procesador Intel).
📌 Ubicación del script set-pl1
El script debe guardarse en:
|
1 2 |
/usr/local/bin/set-pl1 |
Y debe tener permisos de ejecución:
|
1 2 |
sudo chmod +x /usr/local/bin/set-pl1 |
📌 Contenido completo del script set-pl1
Este es el script que hemos estado usando para cambiar PL1 de forma sencilla:
|
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 |
#!/bin/bash # Script para ajustar PL1 en vatios (W) # Convierte W → microwatios (µW) y escribe en powercap if [ -z "$1" ]; then echo "Uso: sudo set-pl1 <watios>" exit 1 fi WATTS=$1 MICROWATTS=$(echo "$WATTS * 1000000" | bc) PL1_FILE="/sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw" echo "Cambiando PL1 a $WATTS W (${MICROWATTS} µW)..." # Escribir el valor echo $MICROWATTS > $PL1_FILE # Leer de nuevo para confirmar APLICADO=$(cat $PL1_FILE) APLICADO_W=$(echo "$APLICADO / 1000000" | bc -l) echo "PL1 aplicado: ${APLICADO_W} W" |
📌 ¿Qué hace exactamente este script?
- Recibe un valor en vatios (por ejemplo,
12). - Lo convierte a microvatios (formato requerido por powercap).
- Escribe el valor en:
12/sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw
- Vuelve a leer el fichero para confirmar que el cambio se aplicó.
- Muestra el valor aplicado.
📌 Ejemplos de uso
|
1 2 3 |
<span style="font-size: 12pt;">sudo set-pl1 8 # Valor por defecto del NestDisk</span> sudo set-pl1 12 # Más rendimiento sudo set-pl1 15 # Turbo más sostenido (más ruido y calor) |
El sistema volverá al valor por defecto (8) tras un reseteo aunque, con un servicio en el arranque, se podría hacer que siempre funcionase «más alegre»
564