Portál AbcLinuxu, 10. května 2025 01:45
use Sys::Load qw/getload/;
getload()[0]
ale to dela neco co nechci.. udajne prumerna zatez za posledni minutu.. ja chci neco jako mam bublani v pluginu s kachnickou do gkrellm .) nebo to cislo co ukazuje htop
Jestli je skutecny vytizeni procesoru vzdycky jenom 0% nebo 100% tak teda chci prumerny ale ne za minutu ale za kratkej casovej usek..
proste jako obsazeni ramky zjistim z "free" nebo "/proc/meminfo" tak neco podobnyho pro cpu
Dekuji!
/usr/sbin/lsof | grep gkrellm
to vypada na /proc/stat
man proc
, konkrétně /proc/stat
.
open(STAT,"/proc/stat"); sub cpu { seek STAT,0,0; <STAT> =~ m/^cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+).*$/; my $load = $1+$2+$3; # prvni, druhy a treti cislo ze souboru /proc/stat (prvni radek - zacinajici cpu) my $total = $load+$4; # navic ctvrta hodnota if ($lasttotal==0){ $ret=0; } elsif (($total - $lasttotal) <= 0){ $ret=100; } else { $ret = int((100 * ($load - $lastload))/($total - $lasttotal)); } ### tady je to dulezity.. porovnavaji se prirustky tech hodnot mezi jednotlivyma spustenima tyhle funkce ($lastload, $lasttotal) = ($load,$total); # ulozeni hodnot pro pristi beh funkce return $ret; # vrati cislo v procentech (0-100) }
man proc
konkrétně /proc/stat
.
elsif (($total - $lasttotal) <= 0){ $ret=100; }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.