以前書いたPythonでラズパイのCPU温度を測定するにあるtemp.pyを実行すると、whileループで発火するごとにCPUを数パーセント使用していました。 モニタリング用のスクリプトですから極力軽くなくてはいかんということで改良したいと思います。 ちなみに改良後はこんな感じの出力になりました。 左からCPU温度、周波数、全体の使用率、コア毎の使用率です。 原因 何が重かったかといいますと、LinuxのOSコマンドを実行するために用いたsubprocessというモジュールです。 こちらについてはやはりpythonのsubprocessでcatするのはまちがっている。で詳しく触れていますので是非ご覧ください。 簡単に言ってしまえば、テキスト取得のためだけにわざわざ子プロセスを立ち上げるので遅いということです。 open()というファイル操作用組み込み関数を使えばPythonだけで完結します