Conky CPU Frequency Display

Since updating the office desktop to Slackware 15.0, the Conky CPU frequency display seems broken. There was no such discrepancy in Slackware 14.2 using the pre-LUA version of Conky. Perhaps there is a conceptual error at this end with configuring CPU frequency through Conky. Perhaps the way Conky is designed is broken.

The displayed frequency is always too high, exceeding the rated rated frequency of 2700 MHz and jumping into “turbo” mode to about 3300 MHz. While not a rigid engineering approach, manually comparing the Conky display to the results of the cpufreq-info command consistently showed a difference. While possibly the cpufreq-info command is designed in a flawed manner and Conky is correct, the cpufreq-info output seems to intuitively match the CPU frequency governor configuration while the Conky output does not. The configuration means that when the computer is idling the Conky CPU frequency display should often be close to the minimum CPU frequency of 800 MHz.

Watching the Conky display one might get the feeling that Conky itself is affecting the frequency detection. Conky does not change its display while idle. When active during the update_interval period Conky likely affects CPU usage and increases the CPU frequency. The “butterfly effect.”

Browsing the web finds several different ways people have configured Conky to display a more correct CPU frequency. One such method that seems helpful on the office desktop is using the inxi -C command. Nothing fancy:

${exec inxi -C | grep Speed | awk ‘{print $4}'} MHz

So far this solution seems to be providing more believable CPU frequency displays in Conky and better matches the output of cpufreq-info. Yet the system seems to run at the rated highest frequency way too often.

Newer is not always better.

Problem solved but Yet Another Example why updating computers is so frustrating.

Something always breaks. Always.

Posted: Category: Usability Tagged: General

Next: Warning: iconv failed to convert degree sign

Previous: BUG: unable to handle page fault for address