CPUに関する情報を出力する2つのコマンドcat /proc/cpuinfo
とlscpu
が見つかりました。 /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の間で変動します)
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
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
Intel Core i7-4600Uプロセッサ は Turbo Boost technology をサポートしています。基本周波数は2.10GHz、最大ターボ周波数は3.30GHzです。つまり、
現在の頻度の取得
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
セクションでは、Supported
とActive
の値は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
ファイルを使用して有効/無効にできます。
CPUに関する情報を取得するには、次のコマンドを入力します。
dmidecode -t 4
情報を何に使用しているかによって異なります。 cat/proc/cpuinfo`からの出力行は、「アドバタイズされた」速度、パンフレットの速度などです。サーバーAとサーバーBを比較している場合は、それで十分かもしれません。システムのワークロードを監視している場合、質問へのコメントと@ gad3rによる回答が何を見るかです。