コンピュータの心臓部「CPU」の状況を知るコマンド
cpufrequtilsは、RaspbianOSのKernelが提供するCPUfreqの情報を表示したり、CPUのクロックをコントロールしたりすることができるパッケージです。これをインストールしておくことで、ラズベリーパイの現在のCPU稼働状況などを知ることができます。
そもそもここで説明した「CPUfreq」とはラズベリーパイでは元々利用できるようになっているCPUの処理速度を調整して電力を節約する機能です。今回利用したラズベリーパイはRaspberry Pi 3B+ ですので、
A 1.4GHz 64-bit quad-core ARM Cortex-A53 CPU
というCPUを搭載しています。この1.4GHzというのがCPUの最大処理速度を表すものですが、いつも全開で動作していると消費電力をくってしまいますのでこれを制御しているという事です。
cpufrequtilsというパッケージはその機能に対していろいろな命令をしますよ、というLinuxのコマンドです。
cpufrequtilsを入れてラズパイの状況を確認
では、まずはインストールです。
$ sudo apt-get install cpufrequtils
で、インストールが始まります。続行しますかと聞かれたら「Y」キーを押してEnterして進めましょう。
インストールが完了すれば、すぐに使える状態ですので、まずはコマンドをそのまま打ってみます。
$ cpufreq-info
すると以下のようにCPUのコアごとにその状況が表示されます。ラズベリーパイはquad-coreですから4つコアがあるという事になるため、CPU 0 からCPU 3までが表示されます。
それぞれ項目がありますので何を意味しているか解説していきましょう。
driver : BCM2835 CPUFreq
これはCPUFreqが使用しているドライバーの名称です。ラズベリーパイはBroadcom社のBCM2835プロセッサを使っているためこのドライバになります。
CPUs which run at the same hardware frequency: 0 1 2 3
ラズベリーパイはクアッドコアですので、0,1,2,3と4つの同じコアがそれぞれ0から3までの番号が振りあてられています。
CPUs which need to have their frequency coordinated by software: 0 1 2 3
ソフトウェアで管理された周波数を持ったCPUが0から4つあるという事です。
maximum transition latency: 355us
CPUが処理速度を変化させるときにかかる時間の最大値です。ここでは355マイクロ秒です。
hardware limits : 600MHz – 1.40GHz
ラズベリーパイのCPUがサポートするクロック周波数の最小値と最大値の範囲です。
available frequency steps: 600MHz, 1.40GHz
設定できる周波数のステップになります。この2種類の周波数で動作します。
available cpufreq governors : conservative, ondemand, userspace, powersave,performance, schedutil
CPUFreqガバナーといわれるいわゆるクロック周波数などをコントロールするための設定値にはこのようなものを使っているという表示です。
current policy: frequency should be within 600 MHz and 1.40gHz. The governor ‘ondemand” may decide which speed to use within this range
ここではソフトウェア的にコントロールできる周波数の範囲と、そのスピードはondemandという種類のCPUFreqガバナーを使っているという事を表しています。
current CPU frequency is 600 MHz.
このコマンドを実行した現在のクロック周波数です。600MHzで動作しているという事です。
cpufreq status:600 MHz:96.02%, 1.40GHz:3.98%
今のところどれくらいの割合でCPUが動作しているかというのがわかります。600MHzでの動作が全体の96%程度を占めていることがわかります。
このように、現在のCPUコアのそれぞれの状況を細かく表示してくれます。
今回の説明ではCPUの表示だけにとどめておきますが、CPUの処理を一定に保ったり、クロックのスピードを規定値以上に上げないなどのコントロールが可能です。ラズベリーパイは通常のパソコンなどに比べてとてもパワーが弱いですが、小さいコンピュータとしてその処理を制限して使ったりします。そういった場合にはちょこちょこ出てくるものですので、押さえておきましょう。