Why doesn't Ubuntu vary the CPU speed?
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
3
down vote
favorite
I got a new laptop and I did a clean install of Ubuntu 17.10. One of the things I checked was to see whether or not Ubuntu was varying the clock speed of the CPU (It varies the clock speed of the cpu when you click "try ubuntu without installing), however the lscpu
command gave a constant 2000 MHz even though I ran the command multiple times, both on battery power and plugged in.
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
Is Ubuntu actually keeping the CPU at a constant 2000 MHz, and if so, is there any way to enable dynamically adjusting the frequency of the CPU? (I don't want to manually adjust it; I want it to be adjusted automatically to save power when less CPU is needed and to provide more power when doing something intensive).
Full output of lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 142
Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping: 10
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
BogoMIPS: 3984.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti retpoline intel_pt rsb_ctxsw tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
Running the commands suggested in the comments I obtain:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
Running recommended commands:
$ grep MHz /proc/cpuinfo
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1995472
1698285
838872
800004
800025
800015
800053
799087
Addendum:
I made a short program to directly measure the current clock rate of the CPU (it waits for a period of time and counts the elapsed cycles). Based on that I get 1992.300 MHz (code here).
power-management battery cpu
 |Â
show 8 more comments
up vote
3
down vote
favorite
I got a new laptop and I did a clean install of Ubuntu 17.10. One of the things I checked was to see whether or not Ubuntu was varying the clock speed of the CPU (It varies the clock speed of the cpu when you click "try ubuntu without installing), however the lscpu
command gave a constant 2000 MHz even though I ran the command multiple times, both on battery power and plugged in.
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
Is Ubuntu actually keeping the CPU at a constant 2000 MHz, and if so, is there any way to enable dynamically adjusting the frequency of the CPU? (I don't want to manually adjust it; I want it to be adjusted automatically to save power when less CPU is needed and to provide more power when doing something intensive).
Full output of lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 142
Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping: 10
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
BogoMIPS: 3984.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti retpoline intel_pt rsb_ctxsw tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
Running the commands suggested in the comments I obtain:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
Running recommended commands:
$ grep MHz /proc/cpuinfo
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1995472
1698285
838872
800004
800025
800015
800053
799087
Addendum:
I made a short program to directly measure the current clock rate of the CPU (it waits for a period of time and counts the elapsed cycles). Based on that I get 1992.300 MHz (code here).
power-management battery cpu
Thetlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.
â dsstorefile1
Feb 27 at 6:22
1
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
Please edit your question and add the output forcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
andcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.
â Doug Smythies
Feb 27 at 15:26
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02
 |Â
show 8 more comments
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I got a new laptop and I did a clean install of Ubuntu 17.10. One of the things I checked was to see whether or not Ubuntu was varying the clock speed of the CPU (It varies the clock speed of the cpu when you click "try ubuntu without installing), however the lscpu
command gave a constant 2000 MHz even though I ran the command multiple times, both on battery power and plugged in.
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
Is Ubuntu actually keeping the CPU at a constant 2000 MHz, and if so, is there any way to enable dynamically adjusting the frequency of the CPU? (I don't want to manually adjust it; I want it to be adjusted automatically to save power when less CPU is needed and to provide more power when doing something intensive).
Full output of lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 142
Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping: 10
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
BogoMIPS: 3984.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti retpoline intel_pt rsb_ctxsw tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
Running the commands suggested in the comments I obtain:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
Running recommended commands:
$ grep MHz /proc/cpuinfo
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1995472
1698285
838872
800004
800025
800015
800053
799087
Addendum:
I made a short program to directly measure the current clock rate of the CPU (it waits for a period of time and counts the elapsed cycles). Based on that I get 1992.300 MHz (code here).
power-management battery cpu
I got a new laptop and I did a clean install of Ubuntu 17.10. One of the things I checked was to see whether or not Ubuntu was varying the clock speed of the CPU (It varies the clock speed of the cpu when you click "try ubuntu without installing), however the lscpu
command gave a constant 2000 MHz even though I ran the command multiple times, both on battery power and plugged in.
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
Is Ubuntu actually keeping the CPU at a constant 2000 MHz, and if so, is there any way to enable dynamically adjusting the frequency of the CPU? (I don't want to manually adjust it; I want it to be adjusted automatically to save power when less CPU is needed and to provide more power when doing something intensive).
Full output of lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 142
Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping: 10
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
BogoMIPS: 3984.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti retpoline intel_pt rsb_ctxsw tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
Running the commands suggested in the comments I obtain:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
Running recommended commands:
$ grep MHz /proc/cpuinfo
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
cpu MHz : 2000.000
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1995472
1698285
838872
800004
800025
800015
800053
799087
Addendum:
I made a short program to directly measure the current clock rate of the CPU (it waits for a period of time and counts the elapsed cycles). Based on that I get 1992.300 MHz (code here).
power-management battery cpu
power-management battery cpu
edited Feb 27 at 23:20
asked Feb 27 at 6:00
Antonio Perez
7310
7310
Thetlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.
â dsstorefile1
Feb 27 at 6:22
1
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
Please edit your question and add the output forcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
andcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.
â Doug Smythies
Feb 27 at 15:26
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02
 |Â
show 8 more comments
Thetlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.
â dsstorefile1
Feb 27 at 6:22
1
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
Please edit your question and add the output forcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
andcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.
â Doug Smythies
Feb 27 at 15:26
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02
The
tlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.â dsstorefile1
Feb 27 at 6:22
The
tlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.â dsstorefile1
Feb 27 at 6:22
1
1
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
Please edit your question and add the output for
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
and cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.â Doug Smythies
Feb 27 at 15:26
Please edit your question and add the output for
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
and cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.â Doug Smythies
Feb 27 at 15:26
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02
 |Â
show 8 more comments
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1010183%2fwhy-doesnt-ubuntu-vary-the-cpu-speed%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
The
tlp
program has an option to configure the governor for the processor and also adjusts other things in the background while on battery power. You might want to look into it.â dsstorefile1
Feb 27 at 6:22
1
Did you compare the difference between when the system is heavily loaded to when the system has no load?
â Chai T. Rex
Feb 27 at 6:29
It could be the installer doesn't bother with the extra steps of speed governors and turbo-boost but I haven't checked that out myself. I do know after installation speed fluctuates according to system load.
â WinEunuuchs2Unix
Feb 27 at 11:31
Please edit your question and add the output for
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
andcat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
. I agree that something is wrong, because by default you should not be getting nice round numbers for CPU frequency.â Doug Smythies
Feb 27 at 15:26
@Doug Smythies I amended my answer
â Antonio Perez
Feb 27 at 21:02