La tua cronologia è un file che puoi aprire.
Vitals conserva ciò che il Mac e ogni app hanno usato in un file sul tuo Mac. È un normale database SQLite, quindi puoi fargli le tue domande: quando il Mac si è scaldato, quale app ha usato più energia, com’è questo mese rispetto al precedente.
Dove si trova
~/Library/Application Support/Vitals/history.sqlite
Aprilo con il comando sqlite3 incluso in macOS o con qualsiasi app che legga SQLite. Usalo in lettura e lascia la scrittura a Vitals. Niente di ciò che contiene lascia il tuo Mac.
Come sono scritti i valori
- Gli orari sono secondi dal 1970, in UTC.
datetime(start, 'unixepoch', 'localtime')ne converte uno nel tuo orario. - Ogni colonna indica l’unità nel nome: bytes, seconds, percent, celsius, watts.
- Le percentuali vanno da 0 a 100. Per la CPU del Mac, sono riferite a tutti i core.
- Una lettura che il tuo Mac non fornisce, come la velocità delle ventole su un Mac senza ventole, resta vuota.
Le tabelle
readingsQuanto è stato messo sotto sforzo il Mac, una riga ogni cinque minuti: la media e il massimo di CPU, memoria, pressione della memoria, GPU, Neural Engine, temperatura, velocità delle ventole e potenza.system_hoursCiò che ha usato l’intero Mac, una riga all’ora: CPU, memoria, rete, disco ed energia.system_five_minutesLo stesso, una riga ogni cinque minuti, per gli ultimi due giorni.system_minutesLo stesso, una riga al minuto, per le ultime tre ore.app_daysCiò che ha usato ogni app, una riga per app al giorno.app_hoursLo stesso per ora, per gli ultimi due giorni.
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
Query da cui partire
I dieci intervalli di cinque minuti più caldi dell’ultima settimana
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; Quando la memoria è stata sotto pressione
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; Le app che hanno usato più energia negli ultimi 30 giorni
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; Per quanto tempo viene conservata
Per 30 giorni, a meno che tu non scelga un periodo più lungo in Impostazioni → Generali → Conserva cronologia per: 90 giorni, 6 mesi o 1 anno. Elimina cronologia, nella stessa pagina, svuota il file.
Senza SQL
Esporta → Esporta CSV, nella Panoramica, salva gli stessi valori come file CSV per un foglio di calcolo. E con Vitals collegato a un assistente IA, puoi chiedere con parole tue quando il Mac è arrivato al limite.