GNU/Linux >> Linux Esercitazione >  >> Linux

Usa sar per monitorare le risorse in Linux

Questo articolo presenta 10 modi in cui puoi utilizzare il comando System Activity Report (sar) per monitorare le risorse in Linux®.

1. Visualizza l'utilizzo collettivo di tutte le CPU

Esegui il comando seguente per visualizzare un riepilogo dell'utilizzo della CPU:

sar -u

Questo comando restituisce l'utilizzo cumulativo delle risorse in tempo reale di tutte le CPU.

È possibile aggiungere più parametri a questo comando. Ad esempio, aggiungendo 1 3 alla fine del comando come mostrato nel seguente esempio riporta per ogni1 secondo un totale di 3 volte:

sar -u 1 3

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50

L'ultimo campo, %idle , indica il carico della CPU.

Il comando ha le seguenti varianti:

  • sar -u :Visualizza l'utilizzo della CPU per il giorno corrente.
  • sar -u 1 3 :Visualizza l'utilizzo della CPU in tempo reale ogni 1 secondo per 3 volte.
  • sar -u ALL :Uguale a sar -u comando, ma mostra campi aggiuntivi.
  • sar -u ALL 1 3 :Come il sar -u 1 3 comando, ma mostra campi aggiuntivi.
  • sar -u -f /var/log/sa/sa10 :Visualizza l'utilizzo della CPU per il decimo giorno del mese da sa10 file.

2. Visualizza l'utilizzo della CPU per CPU o core

Esegui il comando seguente per visualizzare l'utilizzo della CPU per CPU o core:

sar -P ALL 1 1

Il -P ALL flag indica che desideri visualizzare le statistiche per tutti i singoli core.

Nella CPU colonna del seguente output di esempio, 0 , 1 , 2 e 3 sono i numeri di core della CPU:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00

Se vuoi visualizzare le statistiche solo per il secondo core, usa il -P 1 flag (perché i numeri principali iniziano da 0), come mostrato nell'esempio seguente:

sar -P 1 1 1

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89

Potresti anche trovare utili le seguenti varianti:

  • sar -P ALL :Visualizza l'utilizzo della CPU per ciascun core per il giorno corrente.
  • sar -P ALL 1 3 :Visualizza l'utilizzo della CPU in tempo reale di ciascun core ogni 1 secondo per 3 volte.
  • sar -P 1 :Visualizza l'utilizzo della CPU per il core numero 1 per il giorno corrente.
  • sar -P 1 1 3 :Visualizza l'utilizzo della CPU in tempo reale per il core numero 1, ogni 1 secondo per 3 volte.
  • sar -P ALL -f /var/log/sa/sa10 :Visualizza l'utilizzo della CPU per ogni core per il decimo giorno del mese da sa10 file.

3. Visualizza la memoria libera e utilizzata

Esegui il comando seguente per visualizzare la memoria libera e utilizzata:

sar -r

Se aggiungi 1 3 al comando come mostrato nell'esempio seguente, l'output riporta ogni 1 secondo un totale di 3 volte:

sar -r 1 3

L'output è simile al seguente esempio, in cuikbmemfree è memoria libera e kbmemused viene utilizzata la memoria:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:28:06 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
07:28:07 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:08 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:09 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
Average:      6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204

Questo comando ha le seguenti variazioni:

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10

4. Visualizza l'utilizzo dello spazio di scambio

Esegui il comando seguente per visualizzare la quantità di spazio di scambio in uso:

sar -S

Se aggiungi 1 3 alla fine del comando come mostrato nell'esempio seguente, l'output riporta ogni 1 secondo un totale di 3 volte:

sar -S 1 3

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00

Nota :Se il kbswpused e %swpused sono a 0 , il tuo sistema non si sta scambiando.

Questo comando ha le seguenti variazioni:

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10

Comandi aggiuntivi per lo spazio di scambio

Potresti anche trovare utili i seguenti comandi dello spazio di scambio:

  • Usa sar -R per identificare il numero di pagine di memoria che il sistema ha liberato, utilizzato e memorizzato nella cache.
  • Usa sar -H per identificare le Linux® HugePages (in kilobyte (KB)) in uso e disponibili.
  • Usa sar -B per generare statistiche di paging come il numero di KB impaginati in entrata (e in uscita) dal disco al secondo.
  • Usa sar -W per generare statistiche di scambio di pagina, come scambio di pagine in entrata (e uscita) al secondo.

5. Visualizza le attività di I/O

Eseguire il comando seguente per visualizzare le attività complessive di input e output (I/O):

sar -b

L'output di questo comando visualizza le statistiche di I/O. Se aggiungi 1 3 alla fine del comando come mostrato nell'esempio seguente, l'output riporta per ogni 1 secondo un totale di 3 volte:

sar -b 1 3

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

L'output include i seguenti campi:

  • tps :Transazioni al secondo (sia in lettura che in scrittura)
  • rtps :Leggi le transazioni al secondo
  • wtps :Scrivi transazioni al secondo
  • bread/s :Byte letti al secondo
  • bwrtn/s :Byte scritti al secondo

Questo comando ha le seguenti variazioni:

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

Nota :Usa sar -v per visualizzare il numero di gestori di inode, gestori di file e pseudo-terminali utilizzati dal sistema.

6. Visualizza le attività di I/O dei singoli dispositivi a blocchi

Eseguire il comando seguente per visualizzare le attività di I/O dei singoli dispositivi a blocchi:

sar -d

Per identificare le attività per singolo dispositivo a blocchi (come un punto di montaggio specifico, un numero di unità logica (LUN) o una partizione), utilizzare sar -d , come mostrato nell'esempio seguente:

sar -d 1 1

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM    dev8-0      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM    dev8-1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM dev120-64      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM dev120-65      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM  dev120-0      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM  dev120-1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM dev120-96      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM dev120-97      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

In questo esempio, i valori in DEV la colonna rappresentano dispositivi a blocchi specifici. Ad esempio, dev53-1 indica un dispositivo a blocchi con 53 come numero maggiore e 1 come numero minore.

Puoi usare la bella stampa (-p ) come mostrato nell'esempio seguente per fare in modo che la colonna mostri il nome effettivo del dispositivo (come sda, sda1 o sdb1):

sar -p -d 1 1

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM       sda      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sda1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sdb1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sdc1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sde1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sdf1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sda2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM      sdb2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

Questo comando ha le seguenti variazioni:

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d

7. Visualizza il cambio di contesto al secondo

Esegui il comando seguente per visualizzare il cambio di contesto al secondo:

sar -w

Questo comando riporta il numero totale di processi creati al secondo e il numero totale di cambi di contesto al secondo. Se aggiungi 1 3 alla fine del comando come mostrato nell'esempio seguente, riporta per ogni 1 secondo un totale di 3 volte:

sar -w 1 3

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

08:32:24 AM    proc/s   cswch/s
08:32:25 AM      3.00     53.00
08:32:26 AM      4.00     61.39
08:32:27 AM      2.00     57.00

Questo comando ha le seguenti variazioni:

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10

8. Visualizza la coda di esecuzione e la media di caricamento

Esegui il comando seguente per visualizzare la coda di esecuzione e la media di caricamento:

sar -q

Questo comando riporta la dimensione della coda di esecuzione e la media del carico per l'ultimo minuto, gli ultimi 5 minuti e gli ultimi 15 minuti. Se aggiungi 1 3 alla fine del comando come mostrato nell'esempio seguente, riporta per ogni 1 secondo un totale di 3 volte:

sar -q 1 3

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

06:28:53 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
06:28:54 AM         0       230      2.00      3.00      5.00         0
06:28:55 AM         2       210      2.01      3.15      5.15         0
06:28:56 AM         2       230      2.12      3.12      5.12         0
Average:            3       230      3.12      3.12      5.12         0

Nota :Il blocked la colonna mostra il numero di attività attualmente bloccate e in attesa del completamento delle operazioni di I/O.

Questo comando ha le seguenti variazioni:

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10

9. Visualizza le statistiche di rete

Esegui il comando seguente per visualizzare le statistiche di rete:

sar -n

Questo comando riporta varie statistiche di rete, come il numero di pacchetti ricevuti (trasmessi) tramite la scheda di rete o il numero di pacchetti che si sono verificati. Se aggiungi 1 3 alla fine del comando riporta ogni 1 secondo per un totale di 3 volte.

Puoi anche aggiungere una parola chiave al comando, come mostrato nell'esempio seguente:

sar -n KEYWORD

KEYWORD può essere una delle seguenti opzioni:

  • DEV :Visualizza le statistiche vitali per i dispositivi di rete
  • EDEV :Visualizza le statistiche sugli errori per i dispositivi di rete
  • NFS :Visualizza le attività del client NFS (Network File System)
  • NFSD :Visualizza le attività del server NFS
  • SOCK :Visualizza i socket utilizzati per IPv4
  • IP :Visualizza il traffico di rete IPv4
  • EIP :Visualizza gli errori di rete IPv4
  • ICMP :Visualizza il traffico di rete ICMPv4
  • EICMP :Visualizza gli errori di rete ICMPv4
  • TCP :Visualizza il traffico di rete TCPv4
  • ETCP :Visualizza gli errori di rete TCPv4
  • UDP :Visualizza il traffico di rete UDPv4
  • SOCK6 , IP6 , EIP6 , ICMP6 e UDP6 :Visualizza le informazioni di rete IPv6
  • ALL :Visualizza tutte le informazioni precedenti

L'esempio seguente usa il DEV parola chiave:

sar -n DEV 1 1

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:11:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
01:11:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:11:14 PM      eth0    342.57    342.57  93923.76 141773.27      0.00      0.00      0.00
01:11:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10. Segnala i dati sar per ora di inizio

Esegui il comando seguente per segnalare i dati sar in base all'ora di inizio:

sar -s

Quando visualizzi i dati storici sar da /var/log/sa/saXX file utilizzando sar -f opzione, l'output mostra tutti i dati sar per quel giorno specifico a partire dalle 00:00

Puoi usare il -s hh:mi:ss opzione per specificare l'ora di inizio. Ad esempio, se specifichi sar -s 10:00:00 , l'output del comando visualizza i sardata a partire dalle ore 10 (anziché la mezzanotte di default).

Puoi combinare i -s bandiera con altre bandiere sar. Ad esempio, per riportare la media del carico il 26 del mese corrente a partire dalle ore 10, combinare -q e -s flag come mostrato nell'esempio seguente:

sar -q -f /var/log/sa/sa23 -s 10:00:01

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
...
11:20:01 AM         0       127      5.00      3.00      3.00         0
12:00:01 PM         0       127      4.00      2.00      1.00         0

Non è possibile specificare un'ora di fine. Invece, devi usare il head comando. Ad esempio, se vuoi iniziare dalle 10:00 e vedere 7 voci, invia l'output precedente a head -n 10 , come mostrato nell'esempio seguente:

sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

L'output è simile al seguente esempio:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
10:30:01 AM         0       127      3.00      5.00      2.00         0
10:40:01 AM         0       127      4.00      2.00      1.00         2
10:50:01 AM         0       127      3.00      5.00      5.00         0
11:00:01 AM         0       127      2.00      1.00      6.00         0
11:10:01 AM         0       127      1.00      3.00      7.00         2

Linux
  1. Come usare TROVA in Linux

  2. Come usare il comando Su in Linux

  3. Linux:come utilizzare tre monitor su un laptop?

  4. Come utilizzare auditd per monitorare l'eliminazione di un file in Linux

  5. Possibile utilizzare un .dll su Linux

Usa emoji in stile Mac su Linux

Come usare pkgsrc su Linux

Come utilizzare htop per monitorare i processi di sistema Linux

Monitora le risorse di sistema con Bashtop e Bpytop in Linux

Come installare e utilizzare il comando SAR (per monitorare le prestazioni del sistema) in Linux

sar Esempi di comandi in Linux