Soluzione 1:
Questo fa sorgere la domanda, a quanto può arrivare il carico del sistema? Ad esempio, è possibile che salga fino a 2,00 anche a 100,00?
Assolutamente. Guardando lo uptime
pagina man:
System load averages is the average number of processes that are either
in a runnable or uninterruptable state. A process in a runnable state
is either using the CPU or waiting to use the CPU. A process in unin‐
terruptable state is waiting for some I/O access, eg waiting for disk.
The averages are taken over the three time intervals. Load averages
are not normalized for the number of CPUs in a system, so a load aver‐
age of 1 means a single CPU system is loaded all the time while on a 4
CPU system it means it was idle 75% of the time.
Quindi, se hai molti processi in attesa di essere eseguiti (o molti processi bloccati in attesa di I/O), avrai una media di carico elevata. Questo articolo ne parla in modo più dettagliato e contiene link utili ad altre risorse.
Su un sistema senza carico, la media del carico sarà tipicamente nell'intervallo 0 <=load_average <=n , dove n è il numero di core sul tuo sistema.
Soluzione 2:
Ho visto sistemi vivi raggiungere migliaia di persone. Media di carico una misura relativa basata sui processi di attesa di quanta competizione c'è per attirare l'attenzione dei kernel e ottenere un po' di tempo sulla CPU. Se la macchina è sommersa da lavori o si blocca, ciò può richiedere molto tempo.
Quale livello è accettabile dipende dalla macchina, dal numero di core, dal tipo di pianificatore di lavoro del kernel in uso e dai lavori che ti aspetti che svolga. Ho alcune macchine che sono abbastanza felici nell'intervallo ~ 10 ma si impantanano se colpiscono ~ 40-50. Altri diventano notevolmente lenti a 2 e sarebbero inutilizzabili a 10.
Non è insolito che il carico sia elevato durante l'avvio poiché vengono eseguite molte cose contemporaneamente e la macchina si sta esaurendo. Considererei ~1 un carico abbastanza normale da raggiungere durante l'avvio per un desktop Linux, per poi stabilizzarmi a ~0.1 senza fare nulla.
Soluzione 3:
Su Linux, i valori medi del carico di sistema sono costituiti da processi in uno dei tre diversi stati. In generale, si potrebbe dire che il carico medio è la quantità di processi in attesa del tempo della CPU o che consumano tempo della CPU. I tre valori nella panoramica della media del carico sono la media del carico nell'ultimo minuto, negli ultimi 5 minuti e negli ultimi 15 minuti.
I tre diversi stati dei processi conteggiati per la media del carico sono:(1) processi in esecuzione sulla CPU, (2) processi in attesa del tempo della CPU e (3) processi in sospensione senza interruzioni. L'ultima categoria, pur non generando carico della CPU, può aumentare significativamente il carico medio del sistema.
Ad esempio, una dozzina di processi in attesa di letture da un disco molto occupato o non disponibile genereranno un carico medio di 12 come processi in sospensione ininterrotta, ma nel frattempo la tua CPU può essere perfettamente inattiva.
Quindi, sì, la media del carico può facilmente salire a due cifre. Quanto è grave dipende piuttosto dal tuo hardware. Se hai 16 core, avere 16 processi in attesa del tempo della CPU non è poi così male. Su una macchina single core, avere 3 processi in attesa del tempo della CPU può essere pessimo.
Soluzione 4:
Crea un semplice processo C che esegue cicli infiniti in 10000 thread. Dagli una priorità molto bassa (+20). Il tuo carico sarà 10000, mentre il tuo sistema sarà ancora utilizzabile. Userà solo pochissima RAM (al massimo qualche megabyte).
Sebbene sia una configurazione piuttosto insolita, nei sistemi reali non la troverai.
Il carico di sistema indica solo il numero medio di processi in attesa di un intervallo di tempo della cpu, né meno né più. Ecco un'altra risposta sul modo corretto di interpretare il carico del sistema.
Nell'esperienza quotidiana, un carico superiore a 30+ significa principalmente qualche problema.
Soluzione 5:
Pochi secondi dopo aver terminato un processo che consumava una vecchia CPU da 450 Mhz: