Perché / come "uptime" mostra il carico della CPU> 1?


14

Ho una CPU 1 core installata sul mio PC. A volte, uptimemostra il carico> 1. Come è possibile e cosa significa?

EDIT: i valori salgono a 2.4


Nota: loadè diverso da load average. Come affermato da @michas, il carico è un indicatore del conteggio dei processi che sono in attesa di essere eseguiti, ma la media del carico è il carico medio del sistema calcolato in un determinato periodo di tempo di 1, 5 e 15 minuti.
Mohammad Kholghi,

Risposte:


20

Il carico non è uguale all'utilizzo della CPU. Fondamentalmente è un indicatore di quanti processi sono in attesa di essere eseguiti.

Alcuni link utili:


Oh, ok, ha senso. C'è un modo per ottenere l'utilizzo della CPU, non caricare?
Richard Rodriguez,

Bene, generalmente potresti avere molte CPU. Uno potrebbe essere totalmente occupato e l'altro solo inattivo. Dai un'occhiata a htopuna bella panoramica "grafica".
michas

2
questo non è corretto. La media del carico è una metrica per quanti processi sono pronti per essere eseguiti. Ciò include i processi in attesa, ma anche i processi attualmente in esecuzione . Quindi, se la media del carico è 1, significa che in media (per un determinato periodo di tempo) era in uso una CPU; se sono due, ciò significa che in media erano in uso due CPU. Pertanto, una media di carico particolare per un sistema a CPU singola non è la stessa cosa della stessa media di carico per un sistema multi-core.
Wouter Verhelst,


7

uptimemostra il carico del sistema (non esattamente l'utilizzo della CPU), che è descritto man uptimecome segue:

La media del carico di sistema è il numero medio di processi in stato eseguibile o ininterrotto. Un processo in uno stato eseguibile utilizza la CPU o è in attesa di utilizzare la CPU. Un processo in uno stato ininterrotto è in attesa di un accesso I / O, ad esempio in attesa del disco. Le medie sono prese su tre intervalli di tempo. Le medie di carico non sono normalizzate per il numero di CPU in un sistema, quindi una media di carico pari a 1 indica che un singolo sistema CPU viene caricato continuamente mentre su un sistema a 4 CPU significa che era inattivo il 75% delle volte.

Finché il carico è inferiore al numero di core della CPU che hai, dovrebbe andare bene. Se supera, significa che il tuo sistema non è in grado di far fronte al suo carico di lavoro "in tempo reale". Pertanto, alcuni processi devono attendere per ottenere il tempo della CPU (o l'accesso IO). Viene creata una linea di attesa.

Se hai un carico 2.7 significa che in media (negli ultimi 1, 5 o 15 minuti, a seconda del valore che guardi), i processi 2.7 stanno provando ad eseguire in parallelo, ma hai solo 1 core, quindi il tuo sistema è sovraccarico. Stai chiedendo troppo.

Non preoccuparti, potrebbe non essere un problema: una volta terminato il lavoro, le cose tornano normalmente alla normalità.


4

Uptime mostra l'output di /proc/loadavgper i carichi.

La manpage di man 5 procdice

   /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. 

Quindi puoi avere carichi elevati anche se hai un utilizzo della CPU dello 0%. Un core può ottenere carichi fino al 100% o 1 su sistemi multiprocessore.

Vedi anche Carico elevato della CPU durante l'I / O


-2
 ps aux --sort -rss |head -15

Questo ordinerà 15 processi più utilizzati dalla memoria rss

Inoltre, questo ordinerà i processi più utilizzati per CPU e memoria

 ps aux --sort -pid |head -15

Se hai 1 carico di CPU più di 1 è un avvertimento, esamina l'elenco dei processi e vedi chi di essi utilizza più CPU e RAM

Quando vedi i processi più usati prova a vedere con quali file sono aperti

lsof -p [PID_most_used]

Inoltre sarebbe bello se dai il comando top dai risultati


1
rss non è legato al carico medio, di cosa ti occupi?
Wouter Verhelst,
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.