Tu historial es un archivo que puedes abrir.
Vitals guarda lo que usaron tu Mac y cada app en un archivo en tu Mac. Es una base de datos SQLite normal, así que puedes hacerle tus propias preguntas: cuándo se calentó el Mac, qué app usó más energía, cómo va este mes frente al anterior.
Dónde está
~/Library/Application Support/Vitals/history.sqlite
Ábrelo con el comando sqlite3 que incluye macOS o con cualquier app que lea SQLite. Úsalo para leer y deja la escritura a Vitals. Nada de lo que contiene sale de tu Mac.
Cómo están escritas las cifras
- Las horas son segundos desde 1970, en UTC.
datetime(start, 'unixepoch', 'localtime')convierte una a tu hora. - Cada columna indica su unidad en el nombre: bytes, seconds, percent, celsius, watts.
- Los porcentajes van de 0 a 100. En la CPU del Mac, es sobre todos los núcleos.
- Una lectura que tu Mac no ofrece, como la velocidad de los ventiladores en un Mac sin ventiladores, se deja vacía.
Las tablas
readingsCuánto se exigió al Mac, una fila cada cinco minutos: la media y el máximo de CPU, memoria, presión de memoria, GPU, Neural Engine, temperatura, velocidad de los ventiladores y potencia.system_hoursLo que usó todo el Mac, una fila por hora: CPU, memoria, red, disco y energía.system_five_minutesLo mismo, una fila cada cinco minutos, de los dos últimos días.system_minutesLo mismo, una fila por minuto, de las tres últimas horas.app_daysLo que usó cada app, una fila por app y día.app_hoursLo mismo por hora, de los dos últimos días.
readingsstart, seconds, cpu_percent_average, cpu_percent_peak, memory_used_bytes_average, memory_used_bytes_peak, memory_pressure_percent_average, memory_pressure_percent_peak, memory_pressure_level_peak, swap_used_bytes_peak, gpu_percent_average, gpu_percent_peak, neural_engine_percent_average, neural_engine_percent_peak, cpu_celsius_average, cpu_celsius_peak, hottest_celsius_average, hottest_celsius_peak, fan_rpm_average, fan_rpm_peak, power_watts_average, power_watts_peak, thermal_state_peak, battery_percent, plugged_in_seconds
system_hours, system_five_minutes, system_minutesstart, seconds, cpu_load_seconds, memory_byte_seconds, network_bytes_in, network_bytes_out, disk_bytes_read, disk_bytes_written, energy_joules
app_days, app_hoursstart, app_id, name, kind, bundle_path, seconds, cpu_seconds, energy_joules, memory_byte_seconds, peak_memory_bytes, network_bytes_in, network_bytes_out, disk_bytes_read, disk_bytes_written
Consultas para empezar
Los diez periodos de cinco minutos más calientes de la última semana
SELECT datetime(start, 'unixepoch', 'localtime') AS time,
round(cpu_celsius_peak) AS celsius,
round(cpu_percent_peak) AS cpu
FROM readings
WHERE start > strftime('%s', 'now', '-7 days')
ORDER BY cpu_celsius_peak DESC
LIMIT 10; Cuándo estuvo la memoria bajo presión
SELECT datetime(start, 'unixepoch', 'localtime') AS time,
memory_pressure_level_peak AS pressure,
round(memory_used_bytes_peak / 1073741824.0, 1) AS gb
FROM readings
WHERE memory_pressure_level_peak != 'normal'
ORDER BY start DESC
LIMIT 20; Las apps que más energía usaron en los últimos 30 días
SELECT name, round(sum(energy_joules) / 3600, 1) AS watt_hours
FROM app_days
WHERE start > strftime('%s', 'now', '-30 days')
GROUP BY name
ORDER BY watt_hours DESC
LIMIT 10; Cuánto tiempo se conserva
Durante 30 días, salvo que elijas más en Ajustes → General → Conservar el historial durante: 90 días, 6 meses o 1 año. Eliminar historial, en la misma página, vacía el archivo.
Sin SQL
Exportar → Exportar CSV, en Resumen, guarda las mismas cifras como archivos CSV para una hoja de cálculo. Y con Vitals conectado a un asistente de IA, puedes preguntar con tus palabras cuándo estuvo tu Mac al límite.