Conky en Cpu Frequency issue

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
* AlterEgo is groot fan van van Conky. Specs: Debian Testing; kernel 4.15. Conky 1.10.8.
Maar recent heb ik iets vreemds als ik mijn CPU-frequentie monitor:

Ik doe dat op basis van een stuk Bash (som van de CPU frequentie per core gedeeld door het aantal cores:
code:
1
sum=$(for line in `grep "cpu MHz" /proc/cpuinfo`; do echo "$line" | sed -e '/cpu/d' -e '/MHz/d' -e '/:/d' | cut -d '.' -f1;  done | paste -sd+ - | bc); cores=$(grep "cpu MHz" /proc/cpuinfo | wc -l);echo $(($sum/$cores))


Vanaf de command line werkt dat prima.
Maar dat exact identieke stukje code uitvoeren in Conky levert een waarde op die veel te hoog is.

Ik vind een vergelijkbaar probleem alhier maar geen oplossing. Ik ben er ook van overtuigd dat het voorheen jarenlang altijd goed heeft gewerkt.
Het lijkt me onwaarschijnlijk, maar zou het mogelijk zijn dat het uitvoeren van dat stukje script in Conky de CPU frequentie even omhoog gooit? En waarom dan nu opeens?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Laatst online: 00:17
Als het iets recents is, zou ik als eerste kijken of er niet iets relevants is geüpdatet. Maar als het echt alleen in Conky afwijkt, is dat wel een beetje gek (en dan zou je denken dat een eventuele kernelupdate niet de oorzaak kan zijn).

Dat stuk bash met een berg externe commando's ziet er wel omslachtig uit. Sowieso kan wc weg als je grep's -c optie gebruikt en die for loop moet simpeler kunnen (waarschijnlijk te vervangen door een enkele sed). Maar je kunt het geheel vervangen door een enkele awk-aanroep:
Bash:
1
awk '/^cpu MHz/ { sum += $4; ++cores } END { printf("%d", sum / cores) }' /proc/cpuinfo

Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
Als het goed is geeft /proc/cpuinfo sinds kernel 4.13 geen echte current cpu frequency meer.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:30

Hero of Time

Moderator LNX

There is only one Legend

Dat doet het wel. Ik draai hier 4.15.11 en zie bij de regel 'cpu MHz' de huidige frequentie die overeenkomt met m'n panel applet.

Als er iets vreemds is, dan moet het zijn dat Bash niet zo moeilijk doet over de . in de frequentie en Conky wel. Ik gebruik zelf geen Conky, maar de uitvoer bij Bash is iig een integer ipv float.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
Raynman schreef op woensdag 4 april 2018 @ 21:21:
Maar je kunt het geheel vervangen door een enkele awk-aanroep:
Bash:
1
awk '/^cpu MHz/ { sum += $4; ++cores } END { printf("%d", sum / cores) }' /proc/cpuinfo
Dank je; eleganter :) Maar helaas is de output net zo verkeerd in Conky.

Inmiddels heb ik ook vastgesteld: kernel 4.9 levert zelfde resultaten op als 4.15. Conky 1.10 en 1.9 maakt ook geen verschil. Op een tweede, andere machine zie ik hetzelfde issue. En het raarste: als ik Conky start met zijn default config, dan volgt de CPUfrequentie nagenoeg perfect die van /proc/cpuinfo en die van cpufreq-info.

Conclusie: Conky zelf veroorzaakt CPU spikes ???

[ Voor 35% gewijzigd door AlterEgo op 05-04-2018 16:46 . Reden: Aanvulling ]


Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Zou kunnen. Ik had ook een heel uitgebreide conky config. Met weerbericht e.d. Iedere update zorgde er dus voor dat de CPU opschaalde naar een hogere CPU frequentie.

Denk dat de makkelijkste manier om dat te testen is, is speedstep even uitschakelen in de BIOS. Of even switchen naar de "performance" CPU governer:
code:
1
sudo echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
Rainmaker schreef op dinsdag 10 april 2018 @ 22:45:
Denk dat de makkelijkste manier om dat te testen is,...
Dat maskeert de foutieve output van Conky. Maar die is nog steeds veel hoger dan cpufreq-info bijvoorbeeld.

Acties:
  • 0 Henk 'm!

  • Jouke74
  • Registratie: Juni 2006
  • Laatst online: 03-04 19:54
Waarom niet gewoon met de Conky variabelen?

freq (n) Returns CPU #n's frequency in MHz. CPUs are counted from 1. If omitted, the parameter defaults to 1.

freq_g (n) Returns CPU #n's frequency in GHz. CPUs are counted from 1. If omitted, the parameter defaults to 1.

"That was left handed..." - JJH


Acties:
  • 0 Henk 'm!

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
Jouke74 schreef op woensdag 11 april 2018 @ 10:13:
Waarom niet gewoon met de Conky variabelen?

freq (n) Returns CPU #n's frequency in MHz. CPUs are counted from 1. If omitted, the parameter defaults to 1.

freq_g (n) Returns CPU #n's frequency in GHz. CPUs are counted from 1. If omitted, the parameter defaults to 1.
Ook die leveren (dezelfde) foutieve waarden op (te hoog-exact zoals cpufreq vanuit Conky).)
Pagina: 1