私のCPUに関する情報を出力する2つのコマンドが見つかりました。cat /proc/cpuinfo
とlscpu
。/proc/cpuinfo
私のCPU速度は2.1Ghzなのにlspcu
3167Mhzだと思います。どちらが正しいですか?
cat /proc/cpuinfo
これは私のプロセッサ速度の正確な出力です。
model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
ソースlscpu
:
CPU MHz: 3225.234
(何らかの理由でlscpu
出力が毎回異なり、3100~3300MHzの間で様々)
答え1
各コアの現在の速度を表示するには、次の手順を実行します。
watch -n.1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
メモ:
これは、Intel XeonシリーズなどのサーバーCPUには適用されません。そのような機械では、基本周波数のみが表示されます。ターボ周波数を表示するには、cpupowerまたはTurbostatが必要です。 @Maxim Egorushkinの回答を参照してください。
1秒未満の間隔でコマンドがwatch
機能しない場合は、次のように間隔を変更してください。
watch -n1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
cpu speed
各コアのパフォーマンスをリアルタイムで表示します。
watch
上記のコマンドの速度変更は、次のコマンドが有効になっているSpeedStep
場合(Cool'n'Quiet
for AMD
)、次のコマンドを1回以上実行して他の端末で表示できます。
echo "scale=10000; 4*a(1)" | bc -l &
(このコマンドは最大10,000の位置をbc
計算します。)pi
答え2
i7z
Intel i3、i5、およびi7ベースのCPUには、すべてのCPUコアの現在の速度を表示する専用のツールがあります。
マニュアルページ(説明)から:
i7zはオプションなしでncursesベースのi7zプログラムを実行します。 i7zは、Nehalems、Sandy Bridge、Ivy Bridgeなど、Intel i3、i5、i7ベースのコアプロセッサのC状態と温度を印刷します。
Ubuntuベースのディストリビューションの場合は、次のコマンドを実行してインストールできます。
sudo apt-get install i7z
次に実行します(ツールはsudoとして実行する必要があります)。
sudo i7z
答え3
これIntel Core i7-4600Uプロセッササポートするターボ技術。基本周波数は2.10GHz、最大ターボ周波数は3.30GHzです。これは意味する、
- Turbo Boostが無効になっている場合(BIOS設定メニューから)、CPUは常に2.10 GHzで動作します。
- Turbo Boostが有効になっていて1つのコアのみが動作している場合、CPUは最大3.30 GHzの周波数で動作します。
- Turbo Boostがイネーブルで、すべてのコアが動作している場合、CPUは2.10 GHzで動作します。
現在の周波数を取得
Turbo Boostが有効になっているかどうか、および現在の周波数が何であるかを確認するには、を使用できますcpupower frequency-info
。たとえば、Turbo Boostが有効になっている古い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
)を表します。これらの周波数に関する技術情報は、以下にあります。インテルのウェブサイト。
TurboBoostが無効な場合の頻度
Turbo Boostが無効になっているときに同じコマンドを実行した場合の違いに注意してください。セクションではboost state support
、値はです。ここでCPUは常に名目/最小(1.20 Ghz)です。Supported
Active
no
$ 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または他の方法を使用してTurbo Boostを無効にできます。Linuxオプション/コマンド。これカーネルサポートこの/sys/devices/system/cpu/cpufreq/boost
ファイルを使用して有効/無効にできます。
答え4
CPUに関する情報を取得するには、次のコマンドを入力します。
dmidecode -t processor | grep -i mhz