Portál AbcLinuxu, 26. prosince 2025 14:32
atsar.
uptime | awk '{print $8}' | sed 's/,//'
tomas@hugo:~$ uptime | awk '{print $8}' | sed 's/,//'
load
finn ~ # load
-bash: load: command not found
uptime a pouštět přes rouru
/proc/loadavg, tam je větší šance, že to bude vypadat tak, jak člověk čeká…
#!/bin/sh
delay=1
read cpu old_user old_nice old_sys old_idle rest </proc/stat
sleep $delay
while read cpu user nice sys idle rest </proc/stat; do
echo "$((user-old_user)) $((nice-old_nice)) $((sys-old_sys)) $((idle-old_idle))";
let "old_user=user, old_nice=nice, old_sys=sys, old_idle=idle";
sleep $delay;
done
Jde o to, že interval mezi dvěma měřeními nebude vždycky 100ms, ale o něco víc (při vyšší zátěži). Chtělo by to počítat skutečná procenta (vydělit každou hodnotu součtem a vynásobit 100), pak by přišly na řadu zaokrouhlovací chyby.
#!/usr/bin/env python import os while True: load1,load5,load15 = os.getloadavg() print 'Prumer zateze systemu za posledni' print '1 minutu:', load1 print '5 minut:', load5 print '15 minut:', load15Program bude stále vypisovat zátěž systému a protože je to nekonečná smyčka, bude zatížení narůstat
Load average není zatížení procesoru.
Asi nejvíc se dost vágní definici "zatížení procesoru" podobají údaje v souboru /proc/stat, konkrétně řádky začínající cpu. Jde o kumulativní statistiky počtu jiffies, které procesor strávil v různých režimech - podrobnosti viz man proc.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.