2011
NOVEMBRE
10
VISITE
3843
COMMENTI
VALUTAZIONE

Sistemi linux e load medio

Come interpretare i valori di "load" avg su sistemi linux

Sistemi linux e load medio

Capita molto spesso di verificare come sta lavorando un sistema linux con vari comandi, uno su tutti il semplice "w". Ma come leggere correttamente l'output a video?

Mi è sempre capitato, dovendo implementare sistemi di monitoraggio, di dover verificare "al volo" come lavorano i sistemi in un determinato momento.

Il comando che utilizzo più spesso è il "w"

 

[neexa@host ~]$ w
 22:27:41 up 254 days,  7:22,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
neexa pts/0    a.b.c.d      22:27    0.00s  0.01s  0.00s w
 
uso "w" perchè oltre ad avere l'output che riporta il load medio (come top e uptime) ho subito sotto controllo il numero di utenti "loggati" sul sistema in quel momento.
 
Ma come vanno letti quei dati che riportano il load medio del sistema?
Prima di tutto è necessario specificare che i tre valori fanno riferimento a tre intervalli temporali distinti:
 
1 - carico medio del sistema nell'ultimo minuto
2 - carico medio del sistema negli ultimi 5 minuti
3 - carico medio del sistema negli ultimi 15 munuti
 
Perchè 3 valori? Perchè questo ci consente di capire come sta effettivamente lavorando la macchina.
Un "picco" verso l'alto nell'ultimo minuto potrebbe non essere preoccupante se negli altimi 5 e 15 minuti il sistema era nei valori normali.
Viceversa un tendenza a valori critici dagli ultimi 15 minuti in poi potrebbe iniziare ad essere preoccupante
 
Ma quali sono questi valori? Come capire quando un sistema è in sovraccarico?
 
La risposta è più semplice di quanto sembri leggendo i vari "man" o guide.
Sintetizzo senza secendere in tecnismi:
 
in un server singlecore il valore massimo entro il quale il sistema sta rispondendo correttamente è 1.
1 significa che abbiamo la cpu occupata al 100%.
valori superiori indicano che alcune richieste sono "accodate" e quindi noteremo dei rallentamenti nelle risposte dei vari processi interessati.
un valore 2 in questo scenario comincia ad essere preoccupante... 4 un probelma serio... e cosi via.
Ma 1 quindi è il valore ottimale? no, è il massimo che possiamo ottenere da un single core.
In questo caso una soglia d'allerta a 0,6 - 0,7 ci consente di continuare a lavorare sopportando eventuali carichi aggiuntivi.
Quando prepariamo delle soglie per un sistema di monitoraggio delle risorse, è buona regola settare soglie di alert prevedendo valori massimi e valori minimi. Ad esempio un sistema che lavora h24 con processi sempre attivi quando si verifica un load a 0.00 dovrebbe farmi insospettire... probabilmente non sta lavorando affatto.
 
E nei sistemi multicore? il conto non cambia. 1 è riferito a singolo core.
un dual core avrà come "soglia" 2. Un quadcore 4 e cosi via.
 
Multi core o multi processore? In questo caso poco importa, per il sistema sono la stessa cosa (cache e altri fattori a parte ovviamente).
 
Quindi se il nostro sistema sarà composto da 2 processori dual-core o da 1 quad-core consideriamo come valore massimo di load 4.
Cosa ne pensi di questo articolo?
FORSE TI INTERESSA ANCHE
COMMENTI
NEWSLETTER
Inserisci il tuo indirizzo e.mail ed iscriviti alla Newsletter NEEXA per ricevere in automatico aggiornamenti e ultime notize.
e-mail
SOCIAL