web-dev-qa-db-ja.com

LinuxでCPU速度を表示する正しい方法は何ですか?

CPUに関する情報を出力する2つのコマンドcat /proc/cpuinfolscpuが見つかりました。 /proc/cpuinfoは、私のCPU速度が2.1 Ghzであることを示していますが、lspcuは、それが3167 Mhzであることを示しています。どちらが正しいか?

これは私のプロセッサー速度に関するcat /proc/cpuinfoからの私の正確な出力です:

model name  : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz

そして、これはlscpuからです:

CPU MHz:               3225.234

(何らかの理由で、lscpuの出力は毎回異なり、3100〜3300 MHzの間で変動します)

22
Rohan

Intel i3、i5、およびi7ベースのCPUの場合、i7zという専用のツールがあり、すべてのCPUコアの現在の速度を示します。

Manページ(説明)から:

i7zは、オプションなしでi7z、ncursesベースのプログラムを実行します。 i7zは、Intelのi3、i5、i7ベースのコアプロセッサ(Nehalems、Sandy Bridge、Ivy Bridgeを含む)のC状態と温度を出力します。

Ubuntuベースのディストリビューションの場合は、次のコマンドを発行してインストールできます。

Sudo apt-get install i7z

次に、それを実行します(Sudoでツールを実行する必要があります)。

Sudo i7z
8

CPU周波数はカーネル内に保持されますが、少し「オフ」になる場合があります。あなたはそれらを使用してそれらを見ることができます:

$ cd /sys/devices/system/cpu
$ paste <(cat cpu*/cpufreq/affected_cpus) <(cat cpu*/cpufreq/scaling_cur_freq) | column -s $'\t' -t
0  833914
1  800021
2  800086
3  800029
4  800036
5  800460
6  800118
7  800141

CPU番号を知る必要がない場合は、より短い方法を使用するだけです。

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1396354
800058
800050
800024
800005
800017
800001
1392006
4

Intel Core i7-4600UプロセッサTurbo Boost technology をサポートしています。基本周波数は2.10GHz、最大ターボ周波数は3.30GHzです。つまり、

  • (BIOSセットアップメニューで)Turbo Boostを無効にすると、CPUは常に2.10GHzで動作します。
  • Turbo Boostが有効で、コアの1つだけが動作している場合、CPUは最大3.30 GHzで動作します。
  • Turbo Boostが有効で、すべてのコアが動作している場合、CPUは2.10GHzで動作します。

現在の頻度の取得

Turbo Boostがアクティブになっているかどうか、および現在の周波数を確認するには、cpupower frequency-infoを使用できます。たとえば、ターボブーストが有効になっている古いIntel Core i5-660の場合、次のようになります。

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 3.47 GHz
  available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 GHz and 3.47 GHz.
              The governor "ondemand" may decide which speed to use
              within this range.
  current CPU frequency is 1.87 GHz.
  cpufreq stats: 3.47 GHz:82,67%, 3.33 GHz:0,00%, 2.53 GHz:0,00%, 1.87 GHz:0,06%, 1.20 GHz:17,28%  (3)
  boost state support:
    Supported: yes
    Active: yes
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

この情報には、ハードウェアの制限(1.20 GHz - 3.47 GHz)、可能な周波数(3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz)、および現在の周波数(1.87 GHz)が記載されています。これらの周波数の技術情報は インテルのWebサイト にあります。

ターボブーストが無効になっているときの周波数

Turbo Boostを無効にして同じコマンドを実行したときの違いに注意してください。boost state supportセクションでは、SupportedActiveの値はnoです。ここで、CPUは常に公称/最小値(1.20Ghz)になります。

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 3.47 GHz
  available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 GHz and 3.47 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.
  cpufreq stats: 3.47 GHz:40,86%, 3.33 GHz:0,01%, 2.53 GHz:0,06%, 1.87 GHz:0,22%, 1.20 GHz:58,85%  (493)
  boost state support:
    Supported: no
    Active: no
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

BIOSまたは一部の Linuxオプション/コマンド を使用してTurbo Boostを無効にすることができます。 カーネルサポート は、/sys/devices/system/cpu/cpufreq/boostファイルを使用して有効/無効にできます。

4
Jaime

CPUに関する情報を取得するには、次のコマンドを入力します。

dmidecode -t 4
3
GAD3R

情報を何に使用しているかによって異なります。 cat/proc/cpuinfo`からの出力行は、「アドバタイズされた」速度、パンフレットの速度などです。サーバーAとサーバーBを比較している場合は、それで十分かもしれません。システムのワークロードを監視している場合、質問へのコメントと@ gad3rによる回答が何を見るかです。

0
Mark Stewart