Come usare il comando sar su Linux

Pubblicato: 2022-06-16
Un terminale Linux sullo schermo di un laptop.
fatmawati achmad zaenuri/Shutterstock.com

Il comando sar ti consente di vedere le statistiche sulle prestazioni per diversi elementi del tuo computer Linux, sia per i dati in tempo reale che storici. Ti mostriamo come utilizzare questa grande risorsa.

CORRELATI: Come visualizzare le statistiche sulle prestazioni del sistema sul tuo Chromebook

Il comando sar

Il comando sar , o System Activity Reporter, fa parte del pacchetto sysstat . Acquisisce una serie di informazioni statistiche come carico della CPU, paginazione della memoria, utilizzo della memoria, utilizzo dello scambio, I/O di rete e molto altro. Ti rende accessibili questi dati in istantanee in tempo reale, mostrandoti cosa sta succedendo sul tuo computer in questo momento, e in rapporti storici.

Comprendere la media del carico su Linux e altri sistemi simili a Unix
CORRELATI Comprensione della media del carico su Linux e altri sistemi simili a Unix

Funziona in background come un demone, raccogliendo una serie di dati ogni dieci minuti. I dati del giorno corrente vengono scritti in un file di testo. Viene convertito in un file binario quando passa la mezzanotte. I file vengono sovrascritti ogni mese in modo da non divorare costantemente la capacità del disco rigido.

Il comando sar permette di interrogare il sistema e vedere le statistiche. Ma prima devi installare il pacchetto sysstat .

Installazione del pacchetto sysstat

L'installazione sysstat è molto semplice. Usiamo il gestore di pacchetti del tuo sistema Linux per installarlo e quindi utilizziamo systemd per abilitare e avviare il demone in background.

Per installare sysstat su Ubuntu utilizziamo apt:

 sudo apt install sysstat 

Installazione di sysstat con apt su Ubuntu

Per installare sysstat su Fedora, digita:

 sudo dnf install sysstat 

Installazione di systat con dnf su Fedora

E per installare sysstat su Manjaro, utilizziamo pacman:

 sudo pacman -S sysstat 

Installazione di systat con pacman su Manjaro

Annuncio

Con sysstat installato, dobbiamo abilitarlo in modo che possa essere eseguito come demone, un processo in background, ogni volta che si avvia il computer, e dobbiamo avviarlo ora in modo da poterlo utilizzare immediatamente. Usiamo systemctl , parte della famiglia di utilità systemd , per abilitare e avviare demoni.

 sudo systemctl abilita sysstat 

Abilitazione del demone sysstat

 sudo systemctl start sysstat 

avviare il demone sysstat

Per vedere quale versione di sar stai usando e per assicurarti che risponda, puoi usare l'opzione -V (versione):

 sar -V 

Controllo della versione di sar

Statistiche in tempo reale Con sar

Puoi usare sar per vedere cosa sta succedendo all'interno del tuo computer in questo momento. E poiché un'istantanea è proprio questo - lo stato di avanzamento in un determinato momento - e talvolta una tendenza è più utile, puoi chiedere a sar di visualizzare più istantanee con un numero specificato di secondi tra di loro.

Statistiche CPU

Per vedere tre serie di statistiche della CPU con due secondi di distanza, useremmo questo comando, che usa l'opzione -u (CPU). Si noti che l'intervallo viene prima. Quindi questo comando dice "mostra le statistiche della CPU in passaggi di due secondi, per tre set di dati".

 sar -u 2 3 

Mostra tre serie di statistiche della CPU

Allungando la finestra del terminale, la tabella si allinea in modo ordinato, quindi è più facile da leggere.

L'intestazione della prima colonna è l'ora in cui è stato eseguito il comando. I valori nella colonna rappresentano l'ora in cui è stato raccolto ciascun set di dati. Le altre colonne sono:

  • CPU : il numero del core della CPU, o ALL per la media di tutti i core.
  • %User : la percentuale di tempo trascorso a eseguire applicazioni a livello di utente, "in userland".
  • %Nice : la percentuale di tempo trascorso a eseguire le applicazioni a livello di utente, con una buona priorità.
  • %system : la percentuale di tempo speso per l'esecuzione di processi a livello di sistema, nel kernel.
  • %iowait : la percentuale di tempo in cui la CPU è rimasta inattiva con una richiesta di I/O del disco in sospeso.
  • %steal : in una macchina virtuale, questa è la percentuale di tempo in cui la CPU virtuale è rimasta inattiva perché la CPU dell'host hardware stava effettuando la manutenzione su una macchina virtuale diversa.
  • %idle : la percentuale di tempo in cui la CPU è rimasta inattiva senza richieste di I/O del disco in sospeso.
Annuncio

La riga finale è la media delle righe precedenti.

Per visualizzare le statistiche per un core specifico, utilizzare l'opzione -P (per processore). Questo è seguito dal numero di un core della CPU o da un elenco o un intervallo di numeri di core, come 0,1,4 o 4-8 .

Questo comando esamina tre serie di dati con un secondo tra loro, per il core 1. Ricorda, i core sono numerati da zero.

 sar -P 1 1 3 

Mostra le statistiche della CPU per un singolo core

Statistiche di impaginazione della memoria

L'opzione -B (paging) fa sì che sar visualizzi le statistiche relative al paging della memoria sul disco rigido. Chiederemo due serie di informazioni, con cinque secondi di distanza.

 sar -B 5 2 

Visualizzazione delle statistiche di paginazione della memoria

Le colonne contengono le seguenti informazioni.

  • pgpgin/s : numero totale di kilobyte che il sistema ha impaginato (recuperato) dal disco rigido al secondo.
  • pgpgout/s : numero totale di kilobyte che il sistema ha inviato al disco rigido al secondo.
  • fault/s : numero di page fault, sia minori che maggiori, realizzati dal sistema al secondo.
  • majflt/s : numero di errori gravi che il sistema ha commesso al secondo, che hanno richiesto il caricamento di una pagina di memoria dal disco.
  • pgfree/s : Numero di pagine inserite nell'elenco libero dal sistema al secondo.
  • pgscank/s : numero di pagine scansionate dal daemon kswapd del sistema di gestione della memoria al secondo.
  • pgscand/s : numero di pagine scansionate direttamente al secondo.
  • pgsteal/s : numero di pagine che il sistema ha recuperato dalla cache al secondo.
  • %vmeff : Calcolato come pgsteal / pgscan , questa è un'indicazione dell'efficienza del recupero della pagina.

Velocità di trasferimento I/O

Per visualizzare le statistiche di I/O e velocità di trasferimento, utilizzare l'opzione -b (nota, "b" minuscola). Chiediamo tre serie di dati con quattro secondi di distanza.

 sar -b 4 3 

Visualizzazione delle statistiche di trasferimento I/O

Questo è ciò che contengono le colonne.

  • tps : numero totale di richieste di trasferimento al secondo effettuate su dispositivi fisici. Si noti che questo è un conteggio delle richieste . Forse non tutti hanno avuto successo.
  • rtps : numero totale di richieste di lettura al secondo inviate ai dispositivi fisici.
  • wtps : numero totale di richieste di scrittura al secondo inviate a dispositivi fisici.
  • dtps : numero totale di richieste di eliminazione al secondo inviate ai dispositivi fisici.
  • bread/s : quantità totale di dati letti da dispositivi fisici. La cifra è data in blocchi di 512 byte al secondo.
  • bwrtn/s : quantità totale di dati scritti sui dispositivi fisici in blocchi al secondo.
  • bdscd/s : quantità totale di dati scartati in blocchi al secondo.

Ci sono molte altre categorie di informazioni che puoi selezionare per rivedere. Sono tutti usati allo stesso modo. Puoi anche usare l'opzione -A (tutto) per vedere un dump completo di tutto ciò che sar può lanciarti.

Controlla la pagina man di sar per l'elenco completo.

CORRELATI: cosa sono le velocità di lettura/scrittura e perché sono importanti?

Statistica Storica Con sar

Per rivedere uno qualsiasi dei dati storici è semplicemente il caso di aggiungere le opzioni -s (inizio) e -e (fine) tempo a uno qualsiasi dei consueti comandi sar . I tempi sono espressi nel formato 24 ore.

Annuncio

Per vedere com'era il carico della CPU tra le 06:30 e le 07:15 di oggi , useremo questo comando.

 sar -u -s 06:30:00 -e 07:15:00 

Visualizzazione dei dati storici di prima di oggi

Per vedere com'era la situazione il giorno precedente, usa un numero come flag di opzione. Il numero indica su quale giorno segnalare. L'opzione -1 significherebbe ieri, l'opzione -2 significherebbe due giorni fa e così via.

Generiamo un report tra le 13:00 e le 13:00, utilizzando i dati di ieri.

 sar -u -1 -s 13:00:00 -e 13:30:00 

Visualizzazione delle informazioni storiche di ieri

Un altro modo per specificare il giorno in cui desideri inviare il rapporto è utilizzare il nome del file di dati di quel giorno sulla riga di comando. Lo facciamo con l'opzione -f (nomefile).

I file giornalieri sono chiamati “saXX” dove XX è sostituito dal giorno del mese. Vengono creati nella cartella di registro del tuo computer Linux. La cartella del registro sar è probabilmente chiamata "/var/log/sa/" o "/var/log/sysstat/".

Annuncio

Su Ubuntu è "/var/log/sysstat/", quindi il formato del nostro comando per vedere l'utilizzo della CPU tra le 14:00 e le 14:30 per il 21° giorno di questo mese sarebbe simile a questo:

 sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21 

Visualizzazione dei dati storici da un file di dati specifico

L'informazione è potere

E sar ti fornisce sicuramente informazioni sufficienti per prendere decisioni informate sulle prestazioni del tuo computer.

Se ricopri un ruolo di supporto o sei il supporto tecnico per i tuoi amici e familiari, essere in grado di rivedere i dati storici è un ottimo modo per iniziare a scavare in un problema che ti viene segnalato oggi ma che in realtà si è verificato ieri. O la scorsa settimana.

CORRELATI: Sistema lento? Come vedere se Linux è legato a memoria, CPU o IO