Opsamling af data -> grafer
Jeg vil gerne lave en graf over cpu-frekvensen. Hvis jeg fx. skriver et af følgende får jeg den aktuelle frekvens hvert andet sekund
Men jeg vil gerne gemme det i en fil(eller database eller ?) sammen med tidspunktet, så jeg kan plottet data.
Hvordan gøres dette? Og hvilket program skal jeg bruge til at lave selve grafen med?
Mvh Paw
watch grep \"cpu MHz\" /proc/cpuinfo
watch cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
Men jeg vil gerne gemme det i en fil(eller database eller ?) sammen med tidspunktet, så jeg kan plottet data.
Hvordan gøres dette? Og hvilket program skal jeg bruge til at lave selve grafen med?
Mvh Paw
Kommentarer3
bash
while true; do
date ; >> /var/log/outfile
grep "cpu MHz" /proc/cpuinfo ; >> /var/log/cpufreq.out
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq; /var/log/cpufreq.out
echo "##" /var/log/cpufreq.out
sleep 2;
done;
det gennerere en textfil /var/log/cpufreq.out med
timestamp
komando outputs
##
entries.
det kan du smide igennem et regex filter og erstatte newline med ; og beholde ## som newline og wupti så har du en csv fil du kan fodre Librecalc, gnuplot eller gnumeric med.
Ovenstående er en grim hurtig løsning ville nok selv bruge lidt tid på at finjustere output, men så bevæger vi os over i programering og den slags
Der er mange veje til
Jeg ville nok smide det i et cron job.
Quick-and-dirty varianten (inkl. beregning af gns cpu load):
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq | awk 'BEGIN{sum=0;count=0}{count++;sum=sum+$1}END{print systime() " " sum/count}' > /home/mig/logfile
Du kan bruge gnuplot til at plotte grafen.
Du kan fodre outputtet til
Jeg gør noget lign, men jeg bruger bare cacti (overvågningsværktøj) til dette, som benytter rrdtool til at vise grafer.