meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:cpufreq [2016/11/14 13:04] niziaklinux:cpufreq [2024/07/14 21:37] (current) niziak
Line 1: Line 1:
 +====== cpufreq ======
 +
 +===== sys interface =====
 +<code bash>
 +ls -l /sys/devices/system/cpu/cpu0/cpufreq/
 +-r--r--r-- 1 root root 4096 lis 14 12:18 affected_cpus             0
 +-r--r--r-- 1 root root 4096 lis 14 13:08 bios_limit                3400000
 +-rw-r--r-- 1 root root 4096 lis 14 13:08 cpb
 +-r-------- 1 root root 4096 lis 14 12:46 cpuinfo_cur_freq
 +-r--r--r-- 1 root root 4096 lis 14 12:18 cpuinfo_max_freq
 +-r--r--r-- 1 root root 4096 lis 14 12:18 cpuinfo_min_freq
 +-r--r--r-- 1 root root 4096 lis 14 12:46 cpuinfo_transition_latency
 +-r--r--r-- 1 root root 4096 lis 14 13:08 freqdomain_cpus
 +-r--r--r-- 1 root root 4096 lis 14 12:46 related_cpus
 +-r--r--r-- 1 root root 4096 lis 14 12:18 scaling_available_frequencies
 +-r--r--r-- 1 root root 4096 lis 14 12:18 scaling_available_governors
 +-r--r--r-- 1 root root 4096 lis 14 12:46 scaling_cur_freq          1400000
 +-r--r--r-- 1 root root 4096 lis 14 12:46 scaling_driver            acpi-cpufreq
 +-rw-r--r-- 1 root root 4096 lis 14 12:19 scaling_governor          userspace
 +-rw-r--r-- 1 root root 4096 lis 14 12:47 scaling_max_freq
 +-rw-r--r-- 1 root root 4096 lis 14 12:47 scaling_min_freq
 +-rw-r--r-- 1 root root 4096 lis 14 13:08 scaling_setspeed
 +drwxr-xr-x 2 root root    0 lis 14 12:20 stats
 +</code>
 +
 +List current governors:
 +<code bash>
 +cat /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor
 +</code>
 +
 <code> <code>
-  cpufreqd.service                                                                                      loaded active running   LSB: start and stop cpufreqd +cpufreqd.service                                                                                      loaded active running   LSB: start and stop cpufreqd 
-  cpufrequtils.service                                                                                  loaded active exited    LSB: set CPUFreq kernel parameters +cpufrequtils.service                                                                                  loaded active exited    LSB: set CPUFreq kernel parameters 
-  loadcpufreq.service                                                                                   loaded active exited    LSB: Load kernel modules needed to enable cpufreq scaling+loadcpufreq.service                                                                                   loaded active exited    LSB: Load kernel modules needed to enable cpufreq scaling
 </code> </code>
  
Line 20: Line 50:
 ===== cpufrequtils ====== ===== cpufrequtils ======
 It provides: It provides:
-<code> +  * ''/etc/init.d/cpufrequtils''  - disabled by default (no file ``/etc/default/cpufrequtils``) 
-/etc/init.d/cpufrequtils +  * ''/etc/init.d/loadcpufreq''   - loads kernel modules 
-/etc/init.d/loadcpufreq +  * ''cpufreq-set'' 
-cpufreq-set +  * ''cpufreq-info'' 
-cpufreq-info +  * ''cpufreq-aperf'' 
-cpufreq-aperf +
-</code>+
 '' ''
 utilities to deal with the cpufreq Linux kernel feature utilities to deal with the cpufreq Linux kernel feature
Line 37: Line 66:
 '' ''
 <code>/etc/default/cpufrequtils</code> <code>/etc/default/cpufrequtils</code>
 +
 +==== change governor for all cpus ====
 +
 +<code bash>
 +for ((i=0;i<$(nproc);i++)); do cpufreq-set -c $i -r -g powersave; done
 +</code>
 +
 +Ansible one liner:
 +<code bash>
 +(cd .. && ansible pves -i $INVENTORY -a "bash -c 'for ((i=0;i<\$(nproc);i++)); do cpufreq-set -c \$i -r -g powersave; done'" --become)
 +</code>
 +