🐧 Linux 総合学習プラットフォーム
Raspberry Pi セットアップ ・ 中級

温度や状態の確認

ラズパイは小型のため、高負荷が続くとCPU温度が上がり、性能を自動で落とす(サーマルスロットリング)ことがあります。状態の確認には vcgencmd が便利で、vcgencmd measure_temp でCPU温度を表示できます。電源が不足していないか、周波数が下げられていないかといった健全性もこのコマンド群で点検できます。温度が高いときはヒートシンクやファンの追加、安定した電源アダプタの使用を検討します。

Raspberry Pi は手のひらに載る小さな基板の上にCPUを載せているため、一般的なデスクトップパソコンのような大きな冷却ファンや余裕のある電源を前提にできません。そのぶん、高い負荷が続いたり電源が非力だったりすると、温度や電圧といった「体調」が崩れ、性能が落ちたり動作が不安定になったりします。とりわけ問題になりやすいのが発熱です。CPUの温度が一定の上限に近づくと、Raspberry Pi は自分自身を守るために動作周波数を自動的に下げます。これがサーマルスロットリングと呼ばれる仕組みで、安全のための正常な動作ではあるものの、放置すると「なぜか処理が遅い」という形で表面化します。だからこそ、温度・電圧・周波数といった健全性を確認する手段を知り、必要なら冷却や電源を見直すことが、Raspberry Pi を安定して使い続けるための基礎になります。

状態を確認する vcgencmd

こうした健全性の点検に使う中心的なコマンドが vcgencmd です。これは Raspberry Pi の心臓部であるチップ(VideoCore)に直接問い合わせて、温度や電圧、周波数などの内部状態を取り出すための専用ツールで、Raspberry Pi OS に標準で入っています。最もよく使うのが温度の確認で、vcgencmd measure_temp と打つと temp=48.3'C のように現在のCPU温度が表示されます。Raspberry Pi のCPUはおおむね80℃前後でスロットリングが始まるため、負荷をかけた状態でこの値がそこに近づいていないかが一つの目安になります。動作周波数を見るには vcgencmd measure_clock arm でCPUのクロック周波数(単位はHz、たとえば 1500000000 なら1.5GHz)が得られ、負荷時にこの値が定格より下がっていれば、温度や電源の都合で性能が抑えられているサインです。コア電圧を確認するには vcgencmd measure_volts core を使います。これらを組み合わせれば、「今この機器が、十分な電圧と周波数で、安全な温度の範囲で動けているか」を数値で点検できます。

スロットリングと電源不足を見抜く

温度や電圧の問題が実際に発生したかどうかをまとめて知るには、vcgencmd get_throttled が役立ちます。これは性能が抑えられた事象を記録したフラグを16進数で返すコマンドで、結果が throttled=0x0 なら、起動以降に問題は起きていないという意味です。0以外の値が返った場合は、いずれかのビットが立っており、電圧不足が起きた・起きている、温度上限に達してスロットリングした、といった事象があったことを示します。返ってくる値は、下位のビットが「今まさに起きている状態」、上位のビットが「起動以降に一度でも起きたか」を表す作りになっており、一度でも電圧不足があれば上位のビットが立ったまま残ります。そのため、今は正常でも値が0でなければ、過去に何かあった証拠として読み解けます。

とくに注意したいのが電圧不足(under-voltage)で、これは電源アダプタやケーブルが非力で、必要な電気を供給しきれていないときに起こります。CPUを冷やしても解決せず、電源側の見直しが必要というサインです。安価で細いUSBケーブルは内部抵抗が大きく、アダプタの表示が足りていてもケーブルが原因で電圧が落ちることがあるので、ケーブルの質も侮れません。画面をつないでいる場合は、電力が足りないときに稲妻のアイコンが表示されることもあります。get_throttled が0でない値を返したら、まず電源(アダプタとケーブル)、次に冷却、という順で原因を疑うのが切り分けの定石です。

よくある失敗

健全性まわりでありがちな勘違いは、動作が遅い原因をすべてソフトやmicroSDのせいだと決めつけてしまうことです。実際には、非力な電源による電圧不足や、冷却不足によるサーマルスロットリングが「なぜか遅い」の正体であることが少なくありません。とくに、パソコンのUSBポートやスマートフォン用の弱い充電器から給電していると、起動はするのに高負荷時だけ不安定になる、という分かりにくい症状が出ます。Raspberry Pi 5 は消費電力が大きく、推奨は 5V/5A(27W)に対応した USB-C のPD電源です。ここをケチると、原因不明のフリーズや再起動に悩まされがちです。同じ電源でも、USB機器をたくさんぶら下げると消費が増えて電圧不足に傾くため、外付けSSDなど電気を食う機器をつないだ状態で点検するのが実態に即しています。また、温度を一度測って低かったからと安心するのも早計で、問題は高負荷が続いたときに出るため、負荷をかけた状態で温度や get_throttled を確認することが大切です。ヒートシンクを付けていても、密閉したケースに入れて空気がこもっていれば冷えない、という見落としもあります。

実務での使いどころ

vcgencmd は、トラブルが起きてから調べるだけでなく、平常時の状態を把握しておく道具としても有用です。常時稼働させる用途では、定期的に温度と get_throttled の値を記録しておくと、夏場に温度が上がってスロットリングし始めた、電源が劣化して電圧不足が出始めた、といった変化に早く気づけます。対策はシンプルで、温度が高いならヒートシンクやファン付きのアクティブクーラーを追加し、ケース内の通気を確保すること、電圧不足が出るなら推奨仕様を満たした電源アダプタとしっかりしたケーブルに替えることです。Raspberry Pi 5 のように発熱が増えた世代では、最初から冷却と電源に余裕を持たせておくのが、長く安定して動かすコツになります。「動作が変だ」と感じたら、まず vcgencmd measure_temp と vcgencmd get_throttled で体調を数値で確かめる——この習慣が、原因の遠回りを減らし、Raspberry Pi を健康に保ついちばんの近道です。

関連コマンド

vcgencmd

▶ 学習アプリでこの続きを学ぶ・演習する