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

use*_*406 237 cpu

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

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

Kev*_*wen 265

从命令行输入lscpu. 该信息将位于 CPU MHz:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000
Run Code Online (Sandbox Code Playgroud)

  • 请注意,CPU MHz 的值不是固定的,可能会以秒为单位发生变化。 (12认同)
  • 是否有类似的东西嵌入到“htop”之类的东西中?类似于 Windows 中的性能监视器? (2认同)
  • `lscpu` 没有为我显示频率。`cat /proc/cpuinfo | grep MHz` 有效 (2认同)

Lui*_*ado 202

有几种方法:

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

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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.
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)

在所有这些中,lshwdmidecode从您的 CPU 中提供最佳信息。

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

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

cat /var/log/kern.log | grep "MHz processor"- 对于当前和过去检测到的 MHz 速度。在某些情况下不起作用,这就是我dmesg首先发布的原因。

这就是我能从头顶上记住的全部内容。我相当肯定还有其他方法,只是现在不记得了。当然,在谈论终端方式。

  • `dmidecode`似乎是唯一一个在超频时准确报告时钟速度的 (3认同)
  • `dmidecode` 似乎不起作用,它显示 CPU 卡在最大频率,这是不准确的,我很确定。`powertop` 和 `lscpu` 显示实际的可变频率。 (3认同)
  • 您不需要 `cat /path/to/file | grep "some string"` - 你可以直接 `grep` 文件:`grep "some string" /path/to/file`。不过,答案很棒。 (3认同)
  • `lscpu` 给我最大和最小频率,但不是当前频率。`cat /proc/cpuinfo` 告诉我很多关于我的 ARM 内核的信息,但根本没有频率。`lshw` 不存在。`dmidecode -t 处理器` 给了我一个未处理的错误。这些可能适用于您的 PC,但不适用于我的嵌入式 linux。`cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq` 是要走的路。 (2认同)

Col*_*ing 98

对于当前的 CPU 速度,可以使用以下方法实时动态观察这种变化:

sudo watch -n 1  cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
Run Code Online (Sandbox Code Playgroud)

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

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 
Run Code Online (Sandbox Code Playgroud)

  • `cpufreq/cpuinfo_cur_freq` 不存在 (11认同)
  • +1,我知道这是一个 Ubuntu 站点,但这似乎是提供完全独立于操作系统的命令的唯一答案。 (5认同)
  • 在我的系统上,我需要使用 `scaling_cur_freq` 作为文件名,而不是似乎不再存在的 `cpuinfo_cur_freq`。所以完整的命令是:`cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq` (5认同)
  • intel_pstate CPU 频率驱动程序不提供`cpuinfo_cur_freq`。`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver` 查看当前使用的驱动程序。顺便说一句,`cpuinfo_cur_freq` 是硬件的观点,`scaling_cur_freq` 是内核对当前 CPU 频率的观点。更多关于 https://static.lwn.net/kerneldoc/admin-guide/pm/cpufreq.html#policy-interface-in-sysfs (5认同)

Ste*_*lke 18

indicator-cpufreq-selector是一个不错的小指标工具,可以显示您当前的 CPU 频率。您甚至可以选择所需的 CPU 频率。

在此处输入图片说明

但是,此工具的最后一次更新是在2015-10-19 上

  • 您可以使用 `sudo apt-get install indicator-cpufreq` 安装它。 (5认同)
  • 安装后,您需要重新启动才能显示。 (2认同)
  • 在较新的 Ubuntu 中效果不佳(如果有的话)。 (2认同)

小智 11

这适用于实时处理器速度

 watch "grep 'cpu MHz' /proc/cpuinfo"
Run Code Online (Sandbox Code Playgroud)

当它处于活动状态时,您还可以向处理器发送垃圾邮件以查看它可以达到的最大实时速度 openssl speed


Win*_*nix 10

我想指出sudoIan 上面的回答需要:

sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
Run Code Online (Sandbox Code Playgroud)

但是,您无需使用 sudo 即可获得相同的结果:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
Run Code Online (Sandbox Code Playgroud)

我最喜欢使用 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
Run Code Online (Sandbox Code Playgroud)

  • *Conky* 在哪里,它是什么? (3认同)
  • @not2qubit 我稍后会更新这个答案,但同时请参阅这篇 Arch Linux 文章:https://wiki.archlinux.org/index.php/conky (2认同)

Mar*_*377 9

这是我最喜欢的:

watch -n1 "grep 'MHz' /proc/cpuinfo"
Run Code Online (Sandbox Code Playgroud)

尽管如果您有 Turbo Boost(如果是 AMD,则为 Turbo Core),您可能更喜欢以下内容,它使用cpupower来自linux-tools组的内容:
* 在我的系统上,两者工作得同样好。

sudo watch -n 1 -d cpupower monitor
Run Code Online (Sandbox Code Playgroud)

感谢@Zannacat在评论中指出 的无用用途。


jmi*_*rez 8

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

  • 注意,需要 30mb 的 ruby​​ 和各种工具。 (3认同)

not*_*bit 5

如果您使用的是嵌入式 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
Run Code Online (Sandbox Code Playgroud)