web-dev-qa-db-ja.com

Linuxでプロセッサの最大CPU速度を決定する方法は?

私はいくつかの2.6 Linuxボックスを持っていて、主にRHELとSUSEを実行しています。確かに、RHELマシンはCPUガバナーを介して省電力機能を備えています。オンデマンドガバナーが起動すると、/ proc/cpuinfoはプロセッサーの現在の速度を示しており、その有用性を制限する最大値を示していません。 Dmidecodeは最大速度を示しますが、rootアクセスまたは特権が必要です(これはこの環境では負担になります)。

これら2つのオプション以外に、本当にrootアクセスを必要とせずにこの情報を取得する方法はありますか?

補足として、節電のためにさまざまなクロック速度が見られるマシンには、/ sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq(すべてのコア)が存在します。このファイルが存在しない場合、/ proc/cpuinfoが最大速度を示すことが保証されますか?

6
PopsiclePolly

/sys/devices/.../cpuinfo_max_freqは存在しません。つまり、cpufreqドライバーがロードされていないため、CPUはフルスピードで実行されているはずです。そのため、そのような状況では/ proc/cpuinfoが正しいはずです。

12
baumgart

marcinのコメントに加えて:cpufreq-info -c 0 -lの2番目の数値を1000で割ると、最大MHzになります。

4
Carsten Otto

/ usr/bin/cpufreq-infoを使用して、プロセッサーの現在の速度と統計を取得します。

1
asjo

私のマシンでは、dmidecodeはプロセッサの現在の速度と最大速度をリストします。

mas@desktop:~$ cat /proc/cpuinfo| grep MHz
cpu MHz     : 1735.601
mas@desktop:~$ Sudo dmidecode | grep MHz
    External Clock: 133 MHz
    Max Speed: 1800 MHz
    Current Speed: 1733 MHz

システムで試してみる価値があるかもしれません。

1
mas

最初にいくつかのモジュールをロードする必要があります:acpi_cpufreq freq_table

次にcpufrequtilsパッケージをインストールしてcpufreq-infoを実行すると、可能な最小速度、最大速度、およびその間のすべての速度がわかります。

1
Marcin