私はいくつかの2.6 Linuxボックスを持っていて、主にRHELとSUSEを実行しています。確かに、RHELマシンはCPUガバナーを介して省電力機能を備えています。オンデマンドガバナーが起動すると、/ proc/cpuinfoはプロセッサーの現在の速度を示しており、その有用性を制限する最大値を示していません。 Dmidecodeは最大速度を示しますが、rootアクセスまたは特権が必要です(これはこの環境では負担になります)。
これら2つのオプション以外に、本当にrootアクセスを必要とせずにこの情報を取得する方法はありますか?
補足として、節電のためにさまざまなクロック速度が見られるマシンには、/ sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq(すべてのコア)が存在します。このファイルが存在しない場合、/ proc/cpuinfoが最大速度を示すことが保証されますか?
/sys/devices/.../cpuinfo_max_freq
は存在しません。つまり、cpufreqドライバーがロードされていないため、CPUはフルスピードで実行されているはずです。そのため、そのような状況では/ proc/cpuinfoが正しいはずです。
marcinのコメントに加えて:cpufreq-info -c 0 -lの2番目の数値を1000で割ると、最大MHzになります。
/ usr/bin/cpufreq-infoを使用して、プロセッサーの現在の速度と統計を取得します。
私のマシンでは、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
システムで試してみる価値があるかもしれません。
最初にいくつかのモジュールをロードする必要があります:acpi_cpufreq freq_table
次にcpufrequtils
パッケージをインストールしてcpufreq-info
を実行すると、可能な最小速度、最大速度、およびその間のすべての速度がわかります。