Il processore segna cento per cento: la domanda da farsi prima di leggere un numero

Tre numeri diversi portano lo stesso nome: la media dall’avvio, il totale accumulato e la differenza fra due rilevazioni. Solo l’ultimo risponde a "adesso".

AtlasPVE ·

Questa voce risponde a

  • proxmox uso cpu alto
  • proxmox quale processo consuma cpu
  • load average cos’è
  • leggere l’output di top
  • proxmox cpu al 100 per cento

Guardi il pannello e il processore sembra carico. Prima di fare qualsiasi cosa c’è una sola domanda da porsi: quale periodo descrive questo numero?

Perché tre numeri diversi portano lo stesso nome, e i tre dicono cose diverse.

Tre numeri con lo stesso nome

La media dall’avvio. Se la macchina è stata molto impegnata per tre giorni due mesi fa, quell’impegno sta ancora dentro questa media. Non risponde a "adesso".

Il totale accumulato. Non cala mai. Racconta il passato, non l’oggi.

La differenza fra due rilevazioni. Si prendono due misure e si legge il cambiamento fra loro. Solo questa risponde a "adesso".

La trappola classica

Lo strumento standard che elenca i processi mostra nella prima schermata la media dall’avvio. Se guardi quella prima schermata e agisci, sei intervenuto sul passato e non sull’oggi.

La via giusta è prendere almeno due rilevazioni e leggere la seconda. Lo strumento in sé non sbaglia; sbaglia il modo di leggerlo.

Lo stesso errore prende ovunque la stessa forma

Questa forma l’abbiamo già vista due volte in questa wiki.

Sull’usura dei dischi abbiamo detto non la percentuale ma la pendenza: ottantacinque per cento residuo significa dieci anni su un disco e otto mesi su un altro.

Sui pacchetti persi abbiamo detto non il totale ma la velocità: una macchina che l’anno scorso ha avuto un’ora brutta viene mostrata colpevole a vita dal suo contatore.

Sul processore vale non la media ma la differenza. Tre posti diversi, un solo errore di lettura.

Si può scrivere come regola generale: un numero senza finestra temporale dichiarata non è una misura. Prima di agire su un numero, chiedi quale finestra copre.

Quando il processore è davvero alto

Allora serve una seconda distinzione: è una macchina a essere impegnata, o è il server a non bastare?

Che una macchina virtuale usi tutta la quota che le è stata data è normale. Se le hai dato due nuclei e ha riempito quei due nuclei, il sistema sta funzionando esattamente come progettato.

Il problema è il momento in cui il server satura: gli ospiti smettono di ottenere ciò che chiedono e rallentano tutti insieme.

C’è poi una confusione frequente: il carico non è l’uso del processore. Il carico conta le cose in attesa, e alcune di esse aspettano non il processore ma il disco. È possibile che il carico sia alto mentre il processore è fermo, e questo ti dice di guardare altrove.

Che cosa fa Atlas

Quando Atlas elenca i processi del server più affamati di processore, prende di proposito due rilevazioni e legge la seconda.

Il motivo è esattamente la trappola sopra: la prima rilevazione porta la media dall’avvio e mostrarla sarebbe ingannevole. La differenza non è un dettaglio da poco; un elenco ordinato sulla prima rilevazione presenta come colpevole di oggi un processo che era impegnato mesi fa.

Un altro dettaglio piccolo ma onesto: il risultato di questa misura viene tenuto per poco e le richieste che arrivano insieme vengono legate a un’unica misura. Il motivo: mentre la scheda è aperta si aggiorna ogni pochi secondi, e avviare una nuova misura a ogni aggiornamento carica inutilmente il server.

È lo stesso principio dell’articolo sul calore: ciò che osserva non deve essere ciò che costa.

Fonti

La documentazione ufficiale di Proxmox. In inglese, e su questo argomento l’ultima parola è la sua.

Voci collegate

Come si presenta questo dentro Atlas?

Vai alla pagina prodotto