Quote:
Originally Posted by Ztcoracat
Where you able to enable the cpupower.service?
|
the short answer is
yes
simply run:
Code:
systemctl enable cpupower.service
or
Code:
systemctl enable cpupower
That will enable the service. Meaning it will get started when the referenced target is reached a system start-up.
The thing really is: will it get started successfully?
When trying to start this service on a system
with a CPU that does not support frequency scaling, the service will fail.
Quote:
Originally Posted by Ztcoracat
I'm not entirely sure if the frequency scaling is limited to certain machines, sorry-
|
to be precise, it's the CPU(s) in that machine. Physical and Virtual alike.
In Virtual Machines it depends on the hypervisor and maybe guest extensions that need to be installed in order to pass through frequency scaling to the guest operating system.
Let's have a closer look at my physical laptop:
Code:
[root@m5ng ~]# cat /proc/cpuinfo | grep ^model | sort | uniq -c
4 model : 37
4 model name : Intel(R) Core(TM) i7 CPU M 640 @ 2.80GHz
[root@m5ng ~]# ls /sys/devices/system/cpu/cpu0
./ ../ cache/ cpufreq/ cpuidle/ crash_notes microcode/ node0@ topology/
[root@m5ng ~]#
so, it's an i7 and has a 'cpufreq' directory under '/sys/devices/system/cpu/cpu0'
what's in there?
Code:
[root@m5ng ~]# ls /sys/devices/system/cpu/cpu0/cpufreq/
./ cpuinfo_cur_freq cpuinfo_transition_latency scaling_available_frequencies scaling_driver scaling_min_freq
../ cpuinfo_max_freq ondemand/ scaling_available_governors scaling_governor scaling_setspeed
affected_cpus cpuinfo_min_freq related_cpus scaling_cur_freq scaling_max_freq
[root@m5ng ~]#
when having a look at the 'scaling_available_frequencies' file we see:
Code:
[root@m5ng ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2800000 2799000 2666000 2533000 2399000 2266000 2133000 1999000 1866000 1733000 1599000 1466000 1333000 1199000
[root@m5ng ~]#
so these are speeds we can set using 'cpuspeed' in CentOS6 or 'cpupower' in FC20.
I also have a virtual laptop. It's a copy of the physical one. Just in case it dies on me (like six of its seven predecessors) or gets stolen again.
There will be a ghost
This virtual machine is hosted on an i5 system:
Code:
[root@five ~]# cat /proc/cpuinfo | grep ^model | sort | uniq -c
4 model : 58
4 model name : Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz
[root@five ~]# ls /sys/devices/system/cpu/cpu0
./ ../ cache/ cpufreq/ cpuidle/ crash_notes microcode/ node0@ thermal_throttle/ topology/
[root@five ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2301000 2300000 2200000 2100000 2000000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 1000000 900000 800000 759000
[root@five ~]#
So this machine's CPU does suport frequency scaling.
But when looking at the virtual machine:
Code:
[root@m5ghost ~]# cat /proc/cpuinfo | grep ^model | sort | uniq -c
4 model : 58
4 model name : Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz
[root@m5ghost ~]# ls /sys/devices/system/cpu/cpu0/
./ ../ cache/ crash_notes microcode/ node0@ topology/
[root@m5ghost ~]#
it doesn't have a 'cpufreq' sub-directory.
Same with one of my Xeon systems:
Code:
[root@snoopy ~]#[root@snoopy ~]# cat /proc/cpuinfo | grep ^model | sort | uniq -c
16 model : 45
16 model name : Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
[root@snoopy ~]# ls /sys/devices/system/cpu/cpu0/
./ ../ cache/ cpuidle/ crash_notes node0@ thermal_throttle/ topology/
[root@snoopy ~]#
Again, no 'cpufreq' directory.
So frequency scaling won't work on these systems. Even if we install the program and run it. This dog won't hunt.
My assumption would be that 'anaconda' checks for available CPU scaling frequencies and installs the program. Or not.
HTH