I was looking into setting up collectd and was reading over the documentation for the cpufreq plugin. In trying to verify the cpufreq setup, I followed the steps here: https://docs.fedoraproject.org/en-US...req_setup.html
I just updated to kernel 3.4.2-1.fc16.x86_64 and tried 'find /lib/modules -iname "*cpu*" ' which should have returned me a list of modules (among other things) that I could install related to the CPU governors. Instead, I got the following output:
[root@tspear-linux ~]# find /lib/modules -iname "*cpu*"
I've installed kernel-tools, which obsoletes cpufrequtils:
Package cpufrequtils-008-5.fc16.x86_64 is obsoleted by kernel-tools-3.4.2-1.fc16.x86_64 which is already installed
cpufrequtils.i686 : CPU Frequency changing related utilities
cpufrequtils.x86_64 : CPU Frequency changing related utilities
cpufrequtils-devel.i686 : CPU frequency changing utilities development files
cpufrequtils-devel.x86_64 : CPU frequency changing utilities development files
kernel-tools.i686 : Assortment of tools for the Linux kernel
kernel-tools.x86_64 : Assortment of tools for the Linux kernel
I also do not have the following directories:
Moreover, I can modprobe cpufreq_ondemand and cpufreq_performance without error, but they do not show up in lsmod, and I get an error when I try to modprobe cpufreq_interactive. I assume performance and ondemand are built into the kernel but interactive is not.
Additionally, I found this in the kernel config which does indicate that governers are built in. Looks like interactive governor is deprecated, as its not even in the list:
# CPU Frequency scaling
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# x86 CPU frequency scaling drivers
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
Also, the directory /sys/devices/system/cpu/cpufreq exists but is an empty directory on my system.
Finally, the kernel-tools package, seems to have installed a daemon called cpupower. It has config in /etc/sysconfig/cpupower:
[root@tspear-linux ~]# cat /etc/sysconfig/cpupower
# See 'cpupower help' and cpupower(1) for more info
CPUPOWER_START_OPTS="frequency-set -g interactive"
CPUPOWER_STOP_OPTS="frequency-set -g ondemand"
I tried to start it with systemctl, but it dies and gives the following errors in /var/log/messages:
Jun 24 17:21:24 tspear-linux cpupower: Setting cpu: 0
Jun 24 17:21:24 tspear-linux cpupower: Error setting new values. Common errors:
Jun 24 17:21:24 tspear-linux cpupower: - Do you have proper administration rights? (super-user?)
Jun 24 17:21:24 tspear-linux cpupower: - Is the governor you requested available and modprobed?
Jun 24 17:21:24 tspear-linux cpupower: - Trying to set an invalid policy?
Jun 24 17:21:24 tspear-linux cpupower: - Trying to set a specific frequency, but userspace governor is not available,
Jun 24 17:21:24 tspear-linux cpupower: for example because of hardware which cannot be set to a specific frequency
Jun 24 17:21:24 tspear-linux cpupower: or because the userspace governor isn't loaded?
Jun 24 17:21:24 tspear-linux systemd: cpupower.service: main process exited, code=exited, status=237
Jun 24 17:21:24 tspear-linux systemd: Unit cpupower.service entered failed state.
What I would like to know is how to actually utilize the governors when they are built in, and especially, determine which governor is active, or failing that, I suppose that my CPU doesn't support frequency scaling, and that may be why I'm getting the errors.
[root@tspear-linux ~]# cpupower frequency-set -g ondemand
Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency
or because the userspace governor isn't loaded?