Genomsnittlig belastning ( engelsk belastningsmedelvärde ) - medelvärdet för systembelastningen under en viss tidsperiod visas som regel som tre värden, som är medelvärden för de senaste 1, 5 och 15 minuterna. Ju lägre detta värde, desto mindre belastat datorsystemet. Lastmedelvärde beräknas som längden på exekveringskön i operativsystemet, där en betyder att kön är full, och ett värde över ett betyder att det finns processer som väntar på att deras kö ska exekveras [1] .
Normalt, i UNIX-liknande system , sker beräkningen av belastningsgenomsnittet inom kärnan . Användare kan enkelt få den aktuella hastigheten från skalet genom att köra upptidskommandot :
$upptid 14:34:03 upp 10:43, 4 användare, belastningsgenomsnitt: 0,06, 0,11, 0,09Kommandona w och topp visar samma 3 belastningsmedelvärden. På Linux kan de också erhållas genom att läsa /proc/loadavg.
På datorer som är inaktiva är det genomsnittliga belastningsantalet 0. Varje process som använder eller väntar på CPU:n ( väntkö ) ökar belastningsantalet med en. De flesta UNIX-system räknar processer endast som körs (på processorn) eller redo att köras (väntar på processorn). Men Linux inkluderar även processer i viloläge (som fortfarande väntar på hårddisken ) i räkningen, vilket kan leda till märkbart olika resultat, särskilt när många processer blockerar I/O- operationer .
Exempel inkluderar processer som blockeras på grund av NFS- fel eller långsam lagring ( USB 1.x-enheter). Sådana situationer leder till en ökning av den genomsnittliga belastningsindikatorn, men de återspeglar inte den faktiska belastningen på CPU:n (men ger en uppfattning om hur länge användaren kan vänta på att operationer ska utföras).
Medelbelastningen är inte en särskilt exakt egenskap (om så bara för att den bestämmer medelvärdena). Och om datorn har flera processorer kan en sådan egenskap inte lita på. Med två processorer kan du (teoretiskt) köra dubbelt så många program samtidigt. Detta innebär att ett belastningsmedelvärde på 2,00 (på en dubbelprocessormaskin) kommer att motsvara ett belastningsmedelvärde på 1,00 (på en enprocessormaskin). I själva verket är detta inte sant. På grund av den extra arbetsbelastningen som orsakas av schemaläggning och vissa andra faktorer ger en dator med dubbla processorer inte dubbelt så hög prestanda som en dator med en processor.
/proc/loadavgär en textfil i det virtuella filsystemet /proc/, den innehåller 5 textfält separerade med mellanslag.
De tre första fälten innehåller genomsnittliga systembelastningsvärden för de senaste 1, 5 och 15 minuterna - samma värden visas av upptid och toppkommandon.
Det fjärde fältet innehåller antalet processer i systemet för tillfället och består av två siffror åtskilda av en bråkstapel: den vänstra siffran visar antalet processer som körs för närvarande, den högra siffran visar det totala antalet processer i systemet.
Det femte fältet visar det senaste PID ( Process ID ) som tilldelats av systemet.
$ cat /proc/loadavg 0,01 0,04 0,01 1/185 12122