Cómo comprobar el uso de CPU en Windows (Administrador de tareas, Recursos, PowerShell)
Monitorizar CPU ayuda a diagnosticar lentitud, cuellos de botella, sobrecalentamiento, malware minero, o simplemente ver qué consume recursos.
1. Administrador de tareas (GUI, rápido)
- Ctrl + Mayús + Esc (directo) o Ctrl + Alt + Supr > Administrador de tareas.
- Pestaña Rendimiento > CPU (izquierda). Verás:
- Gráfico tiempo real (últimos 60s).
- Utilización % global y por núcleo lógico (gráfico pequeño por núcleo).
- Velocidad actual (GHz), Procesos, Subprocesos, Identificadores, Tiempo activo.
- Cachés L1/L2/L3, Virtualización, Núcleos físicos/lógicos.
- Pestaña Procesos > Click cabecera CPU para ordenar descendente. Ves qué apps consumen.
- Detalles > Click CPU > Vista avanzada con PID, usuario, prioridad, tiempo CPU total.
2. Monitor de recursos (Resmon) — Más detalle
- Win + R >
resmon> Enter. - Pestaña CPU:
- Procesos: % CPU instantáneo, promedio, estado.
- Servicios: Qué servicios corren en cada proceso (svchost.exe).
- Identificadores asociados: Archivos, claves registro, puertos abiertos por proceso.
- Módulos: DLLs cargadas.
3. PowerShell / CMD (Scripting, remoto, sin GUI)
Uso instantáneo
# PowerShell:
Get-Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 5
# O sencillo:
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU, WS
# WMIC (legacy, Windows 10/11):
wmic cpu get loadpercentage
# Repite en bucle:
for /l %i in (1,1,10) do @wmic cpu get loadpercentage & timeout /t 1 >nul
Historial / Log (para análisis posterior)
# PowerShell: log cada 10s a CSV
$log = "C:\Logs\cpu_log.csv"
"Timestamp,CPU_Total" | Out-File $log -Encoding utf8
while ($true) {
$cpu = (Get-Counter "\Processor(_Total)\% Processor Time").CounterSamples.CookedValue
"$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss'),$([math]::Round($cpu,2))" | Out-File $log -Encoding utf8 -Append
Start-Sleep 10
}
4. Herramientas de terceros (más visuales, histórico persistente)
- HWiNFO64 (gratis, sensors profundos: temps, clocks, power, voltages por núcleo).
- Process Explorer (Sysinternals, Microsoft) — Árbol de procesos, DLLs, handles, TCP/IP, GPU, Firma verificada.
- Process Hacker / System Informer (open source, similar Process Explorer + gráficos histórico).
- CPU-Z (info estática CPU, caché, SPD RAM, bench).
- Rainmeter / HWMonitor / Sidebar Diagnostics — Widgets escritorio.
Qué buscar (Diagnóstico)
| Síntoma | Causa probable | Acción |
|---|---|---|
| 100% sostenido en 1 núcleo | App single-thread (juego viejo, compilación, compresión) | Normal si puntual. Si crónico: optimiza app o acepta. |
| 100% en todos los núcleos | Render, compresión, ML, malware (minero), bucle infinito | Identifica proceso (Procesos/Details). Si desconocido: antivirus, VirusTotal. |
| System / ntoskrnl.exe alto | Drivers, memoria, compresión sistema, malware | Actualiza drivers (GPU, chipset, BIOS). sfc /scannow, DISM. |
| Antimalware Service Executable (MsMpEng) alto | Escaneo programado / tiempo real | Programa escaneo fuera de horas. Excluye carpetas dev/build si seguro. |
| WMI Provider Host (WmiPrvSE) alto | Consultas WMI malas (monitor hardware, drivers) | Reinicia servicio "Instrumental de administración de Windows". Actualiza drivers. |
