我买了一台新笔记本电脑,并全新安装了 Ubuntu 17.10。我检查的一件事是看 Ubuntu 是否改变了 CPU 的时钟速度(当您单击“尝试 ubuntu 而不安装”时,它会改变 CPU 的时钟速度),但是,lscpu
即使我多次运行该命令(无论是使用电池供电还是插入电源),该命令仍给出恒定的 2000 MHz。
CPU MHz: 2000.000
CPU max MHz: 4000.0000
CPU min MHz: 400.0000
Ubuntu 是否实际上将 CPU 保持在恒定的 2000 MHz,如果是的话,有什么方法可以动态调整 CPU 的频率?(我不想手动调整它;我希望它在需要较少 CPU 时自动调整以节省电量,并在执行密集型操作时提供更多电量)。
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
运行评论中建议的命令我得到:
$ 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
运行推荐的命令:
$ 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
附录: 我编写了一个简短的程序来直接测量 CPU 的当前时钟频率(它会等待一段时间并计算经过的周期)。基于此,我得到了 1992.300 MHz(代码这里)。