有什么方法可以检查处理器的时钟速度吗?


187

有什么方法可以检查处理器以哪种时钟速度运行?

我已经尝试过,cat /proc/cpuinfo但是没有显示我正在运行的时钟速度。我知道Ubuntu 12.04(精确的穿山甲)需要700 MHz和VGA,但是AMD Mobile Sempron是否可以工作?


您需要在问题的第二部分更具体。你知道型号吗?
LiveWireBT 2012年

谢谢您的所有回答,但我现在很好!
user1610406

Answers:


199

从命令行键入lscpu。该信息将以CPU MHz为单位:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000

12
请注意,CPU MHz的值不是固定的,可能会每秒更改一次。
塞林2014年

18
如果您希望实时更新,这将有帮助:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
阿马尔·穆拉利

1
@Ivan:对不起,不要理会。该命令的输出:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali

3
@Ivan:好的,你去:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali

1
@Ivan:暂时观察一下,您不需要watch。这会做:lscpu | grep 'CPU MHz' | awk '{ print $3; }'。我不确定您在系统上获得的确切输出。我将解释该命令是否有帮助:首先lscpu获取包含有关CPU信息的完整输出,grep然后搜索CPU MHz并仅打印该行,awk取出该$N-th块并显示出来。而且,如果您希望结果实时更改,则将命令包装在中watch -n1 "..."
阿马尔·穆拉利

172

有两种方法:

  1. lscpu或更精确lscpu | grep "MHz"
    这将为您提供CPU的常规MHz。

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfo或更精确cat /proc/cpuinfo | grep "MHz"
    这将为您提供每个CPU内核的单独MHz。因此,如果您有Core 2 Duo,AMD Bulldozer,Core i7等,它将显示每个内核的MHz。

    $ cat /proc/cpuinfo | grep "MHz"
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 3400.000
    
  3. lshw -c cpu或更精确的版本: lshw -c cpu | grep capacity
    将为您提供一般的MHz。与相同lscpu

    $ lshw -c cpu | grep capacity
    WARNING: you should run this program as super-user.
           capacity: 1600MHz
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
    
  4. sudo dmidecode -t processor或更精确的说:sudo dmidecode -t processor | grep "Speed"不仅会为您提供一个正在使用的MHz,而且还会为您的CPU提供超频/超频功能。

    $ sudo dmidecode -t processor | grep Speed
    [sudo] password for cyrex: 
        Max Speed: 4000 MHz
        Current Speed: 2666 MHz
    

所有这些,lshwdmidecode在CPU之外提供最佳信息。

您还可以通过查询日志文件来确定内核检测到的当前MHz:

cat /var/log/dmesg | grep "MHz processor" -对于当前检测到的MHz速度

cat /var/log/kern.log | grep "MHz processor"-对于当前和过去检测到的MHz速度。在某些情况下将无法正常工作,这就是为什么我先发布dmesg一个。

这就是我想起的全部。我相当确定还有其他方法,只是现在不记得了。当然,谈论终端方式。


1
对我来说,除dmidecode之外的所有选项都给出了错误的读数:我正在对具有7倍频和400MHz CPU频率的技嘉ga-965p-ds3 3.3板上的Intel E6600 2.4GHz芯片进行超频,以提供2.8GHz的CPU,但是库存乘数是9(9x266 = 2.4ghz),所以我怀疑其余工具都假设乘数是乘积,乘以CPU的乘数乘以mhz,因此在我的情况下,它们全都为3.6ghz。
dez93_2000 2014年

3
dmidecode似乎是唯一的一个超频时如实申报时钟速度
Avindra Goolcharan

1
请注意,dmidecode通常无法信任来自的信息对您的系统是准确的,因为它只是从DMI表中读取数据,这可能是错误的。dmidecode的手册页甚至说该信息“可能不可靠”,然后继续说:“ DMI表不仅描述了系统的组成,还可以报告可能的发展情况(例如支持最快的CPU或支持的最大内存量)。” “通常,DMI表中包含的信息不准确,不完整或仅是错误的。”
Cerran

1
dmidecode似乎无法正常工作,它表明CPU卡在最大频率上,这很不准确,我敢肯定。powertoplscpu显示实际的可变频率。
罗尔夫(Rolf)'18年

1
您不需要cat /path/to/file | grep "some string"-您可以grep直接直接添加文件:grep "some string" /path/to/file。真棒的答案。
mgarey

89

对于当前的CPU速度,可以使用以下命令实时动态观察此变化:

sudo watch -n 1  cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

要查看最大CPU速度,请使用:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 

4
+1,我知道这是一个Ubuntu网站,但这似乎是唯一提供完全独立于操作系统的命令的答案。
Andy E

如果您在尝试读取scaling_max_freq时被拒绝权限,请尝试使用cpuinfo_max_freq。
LightStruk 2014年

6
cpufreq/cpuinfo_cur_freq不存在
肯·夏普

1
+1,即使在几个运行ubtunu的基于ARM的系统上,也只能使用此解决方案。此页面上给出的所有其他“解决方案”都在那里失败,而这在任何地方都有效。
Philippos

4
intel_pstate CPU频率驱动程序不提供cpuinfo_cur_freqcat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver查看当前使用的驱动程序。BTW cpuinfo_cur_freq是硬件的观点,scaling_cur_freq也是内核对当前CPU频率的观点。有关static.lwn.net/kerneldoc/admin-guide/pm/…的
Yasushi Shoji


7

我想指出sudo上述Ian的答案所需要的:

sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

但是,使用sudo可以得到相同的结果:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

我最喜欢的是使用Conky,您可以在其中绘制自己的图片:

Conky.gif

它始终位于我的内置显示器的右侧。CPU部分的相关代码为:

${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@  ${color green}${freq} MHz   
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime

1
康基在哪里,这是什么?
not2qubit

@ not2qubit我稍后将更新此答案,但与此同时请参阅以下Arch Linux文章:wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix

6

我只想添加i7z到此列表中。与其他选项相反,这对于具有TurboBoost的i7,i5和i3系列中的CPU更好。


正是我所需要的。它还显示了Vcore电压,Turbo乘法器,C0暂停等。非常好!
安德里·马库卡

注意,需要30mb的红宝石和各种工具。
Gringo Suave

3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

2

如果您使用的是嵌入式ARM设备(例如Raspberry或基于ARM的电话),则将无法使用使用的解决方案lscpudmidecode或者/proc/cpuinfo如果该工具完全可用,则因为此处未列出当前速度。相反,您必须使用sysfs

alias getcpuf='i=1; for x in $(sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq); do y=$(($x/1000)); echo "CPU-${i}: $y MHz"; i=$((i+1)); done;'

# getcpuf
CPU-1: 600 MHz
CPU-2: 600 MHz
CPU-3: 600 MHz
CPU-4: 600 MHz

2

这是获取所有CPU线程的cpu频率的直接方法:

  1. 确保cpufrequtils已安装。

  2. 然后在终端中,运行以下命令:

    cpufreq-info | grep "frequency is"
    

2

这对于实时处理器速度工作正常

 watch "grep 'cpu MHz' /proc/cpuinfo"

启用此功能后,您还可以向处理器发送垃圾邮件,以查看其可以达到的最大实时速度 openssl speed



1

我想以评论的形式分享此内容,但在askubuntu上并没有很多声誉,想要使用indicator-cpufreq的人不需要重新启动计算机。重置当前的X会话足以显示图标。

sudo apt-get install indicator-cpufreq   
DISPLAY=:0 compiz --replace

您可以通过查看当前频率来验证“性能和节能”选项

watch -d "cat /proc/cpuinfo | grep -i Mhz"

单击较低的频率/ Powersave后,CPU的电源管理就会启动,从而缩短了时钟周期。


用户注销并再次登录(但不重新启动)可能也可以正常工作
Xen2050

1

这是我最喜欢的:

watch -n1 "cat /proc/cpuinfo | grep 'MHz'"

尽管如果您具有Turbo Boost(如果是AMD,则为Turbo Core),但您可能会更喜欢:

sudo watch -n 1 -d cpupower monitor

它使用cpupower来自Linux的工具组。


0

样本输出 cat /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
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 arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
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 arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
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 arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
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 arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

此处cpu MHz表示当前的cpu频率。您可以cpufreq-info轻松了解。


冗长!
Rishav Ambasta '16

0

在Linux终端中,键入以下命令以获取CPU内核名称及其当前速度:

cat /proc/cpuinfo | grep -E "model name|cpu MHz"


0

sudo powertop 然后两次按Tab键以进入“频率统计信息”标签。

它显示实际频率(在我的笔记本电脑上准确,而不是dmidecode),以及每个可用频率花费了多长时间的统计信息。


它有当前频率的特定线吗?看起来只是显示每个频率+空闲状态为“活动”的时间百分比,现在没有指示哪个处于活动状态?
Xen2050

@ Xen2050 CPU频率可以在毫秒内来回更改,因此我对统计数据更感兴趣。您可以powertop -t 1以较低的延迟运行,这样统计信息将每秒更新一次。
罗尔夫(Rolf)'18

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.