Cos'è il carico di sistema?


13

Nel mio lavoro abbiamo un repository di dati che esegue Ubuntu 12.04.03 CLI e mentre li stavo controllando questa mattina quando ho effettuato l'accesso invece di darmi le normali informazioni ha detto che le informazioni non potevano essere visualizzate perché il caricamento del sistema è superiore a 2 e Mi chiedevo cosa significasse? L'avevo appena riavviato perché non rispondeva, ha qualcosa a che fare con il processo di avvio e di avvio di tutto?

Risposte:


17

Esegui i comandi topo uptime:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

Le medie di carico indicate qui sono :

/proc/loadavg
          The  first  three  fields  in this file are load average figures
          giving the number of jobs in the run queue (state R) or  waiting
          for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

Considera le mie medie di carico: 0.05, 0.16, 0.21
ciò significa che, nell'ultimo minuto, in media 0,05 processi hanno atteso risorse.

Dovresti preoccuparti che la media del carico sia 2? In generale, se la media del carico è superiore al numero di CPU disponibili, alcuni processi devono rimanere inattivi in ​​attesa di uno slot CPU.

Se la media del carico è inferiore all'output di nproc, non è necessario preoccuparsi.

Vedi anche: Cosa significa media di caricamento in unix / linux? Come osserva Braiam, i processi non devono essere solo in attesa di CPU: comprensione della media del carico rispetto all'utilizzo della CPU


È molto utile ma subito dopo il riavvio dovrebbe essere così caldo considerando che non l'abbiamo mai visto prima? È in esecuzione AMD Athlon (tm) 64 X2 Dual Core Processor 4200+ e non esegue alcuna grafica o processi extra.
Sean G,

@SeanG potrebbe, a seconda di cos'altro funziona. Potrebbe essere un evento unico. Se ciò accade ripetutamente, usa qualcosa come bootchart per vedere cosa sta succedendo durante l'avvio.
muru,

"Ciò significa che, nell'ultimo minuto, in media un processo di 0,05 ha atteso la CPU." in realtà questo è incompleto, la risorsa può essere qualsiasi hardware, non solo CPU. Potrebbe essere disco, rete, GPU, ecc.
Braiam,

@Braiam true (ho reso la dichiarazione troppo semplificata). Mi sarei imbattuto in questa q mentre caricavo su Google google, ma non pensavo di includerla.
muru,

Subito dopo il riavvio, la media del carico potrebbe effettivamente essere elevata poiché il sistema ha appena attraversato la sequenza di init intensiva. Come spiegato nella risposta, ci vogliono un paio di minuti perché i numeri scendano alla normalità. I lavori anacron scaduti possono prolungare il periodo.
Emil Jeřábek sostiene Monica il

7

Carico di sistema o Carico di sistema medio

È una coda di esecuzione, ovvero una coda di processi in attesa che una risorsa (CPU, I / O ecc.) Diventi disponibile.

Considera un single-core cpucome una singola corsia di traffico con bridge e processa come auto.

Ora in questa situazione il carico di sistema è

  • 0.0 - Se non c'è traffico sulla strada.
  • 1.0 -Se il traffico sulla strada è esattamente la capacità del ponte.
  • Più di 1 - Se il traffico su strada è superiore alla capacità del ponte e le auto devono attendere per passare attraverso il ponte.

Questo numero non è normalizzato secondo il tuo cpu. Nel sistema multiprocessore, caricare 2 significa un utilizzo al 100% di noi stiamo usando un processore dual-core, caricare 4 significa un utilizzo del 100% se stiamo usando un quad-core.

È possibile ottenere il caricamento del sistema utilizzando

  • uptime
  • cat /proc/loadavg
  • top

    $ uptime 22:49:47 up 11:47, 4 utenti, caricamento media: 2.20, 1.03, 0.82

Qui gli ultimi tre numeri che rappresentano la media del carico di sistema rispettivamente per 1, 5 e 15 minuti.

L'esempio sopra indica che in media c'erano 2,20 processi in attesa di essere programmati sulla coda di esecuzione misurati nell'ultimo minuto.


Questo non spiega qual è la media del carico.
Braiam,

aggiunto nella risposta.
g_p,

2

Il carico del sistema è rilevante per il numero dei core della CPU, ad esempio se si dispone di una CPU Quad Core (4 core) il valore 1 indica che il carico del sistema è del 25% e 4 significa 100%.


Questo non spiega qual è la media del carico ed è errata sulla relazione tra tempo% cpu e media del carico.
Braiam,

0

Se digiti in uptime del terminale vedrai qualcosa di simile: media di caricamento e tre colonne di cifre che sono carichi da uno, cinque e quindici minuti. Se hai un processore dual core 2 significa utilizzo al 100%, 1 significa 50% ecc.


Questo non spiega qual è la media del carico ed è errata sulla relazione tra tempo% cpu e media del carico.
Braiam,

1
Sì lo fa. Dal manuale di uptime: la media di caricamento di 1 indica che un singolo sistema CPU è sempre caricato mentre su un sistema a 4 CPU significa che era inattivo il 75% delle volte.
EdiD,

Non esiste alcuna relazione tra carico della CPU e media del carico. Controlla di nuovo.
Braiam,

0

Un carico di sistema di 2.0 non è molto elevato. Su un sistema multi-core la tua CPU potrebbe anche essere parzialmente inattiva.

Una media di carico è una misura del sovraccarico di un core della CPU in termini di numero di processi che vogliono usarlo contemporaneamente.

Quanto segue presuppone una CPU single core (single thread):

  • 0.0

    La CPU non sta facendo nulla. Se un processo dovesse iniziare a utilizzare la CPU, sarebbe l'unico a utilizzarlo.

  • 1.0

    La CPU è al massimo utilizzo, ma non vi è contesa tra i processi per l'utilizzo della CPU. Cioè, è in esecuzione solo un singolo processo, quindi è in grado di rivendicare il 100% del tempo della CPU per se stesso. In alternativa, sono in esecuzione più processi ma nessuno rivendica il 100% di CPU e il loro utilizzo combinato della CPU aggiunge fino al 100%. Funzionano ancora più velocemente di quanto funzionerebbero anche se avessero la CPU completamente per sé.

  • Maggiore di 1,0

    La CPU è al massimo utilizzo e ci sono più processi che vogliono usarla contemporaneamente, quindi funzionano più lentamente di quanto sarebbero altrimenti in grado di eseguire se avessero un uso esclusivo della CPU. Ad esempio, una media di carico di 3.0 indica che i processi sono in esecuzione a un terzo della velocità che desiderano eseguire. Una media di carico di 50,0 indica che i processi sono in esecuzione a 1/50 della velocità che desiderano eseguire, a causa di tutti gli altri processi in esecuzione. Cioè, cifre superiori a 1.0 indicano che la CPU disponibile viene suddivisa tra processi sempre più attivi.

Avere una CPU multi core non cambia il significato delle cifre ma cambia il modo in cui dovrebbero essere interpretate. Ad esempio, se si dispone di una CPU a 4 core, un carico di 1,0 equivale comunque a un processo che utilizza la CPU al 100% su un core, ma ci sono altri tre core. Quindi su una CPU a 4 core, il punto di massima efficienza è 4.0, non 1.0 - e il punto in cui tutto funziona a efficienza 1/3 è 12,0, non 3,0. Per aggiungere alla complessità, un singolo processo può avere più di un thread ciascuno rivendicando la propria CPU. Quindi un singolo processo può utilizzare il 100% di tutti e 4 i core se è multi-thread.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.