仕事や趣味で、Python, Seleniumを使用してChromeでの操作を自動化する事があります。 単独のスクリプトを実行した場合、特に問題は発生しないものの、複数のスクリプトを並列実行した場合、全てのスクリプトが成功する事もあれば、一部のスクリプトが失敗したりする事があります。
色々原因は考えられますが、今回はスクリプト実行前に、CPU, メモリ使用率を計測して、失敗時のリソース状況を確認する事で、失敗の理由を模索したいと考えています。
これについて調べてみたところ、psutilというPythonライブラリがあり、システムリソース(CPU, メモリ, ディスク, ネットワークなど)に関する情報を取得および操作する機能を提供しているようです。
今回はこれについて調べてみようと思います。
多くのライブラリと同じで、pipを使用してPyPIからダウンロード, インストールします。
pip install psutil
import psutil
print(f"CPU Usage: {psutil.cpu_percent(interval=1)}%")
print(f"Memory Usage: {psutil.virtual_memory().percent}%")
CPU Usage: 18.6%
Memory Usage: 95.9%
非常にシンプルに使用出来ました。
メモリは32GB積んでいるのですが、常にコミュニケーションツールやゲームを多数起動している影響から、メモリ使用率が95.9%でした。
ビルドマシンは今回使用したメインマシンとは別なのですが、メモリ使用率が高い場合に失敗しているのかを確認してみようと思います。
今回調査に使用したコード(リポジトリ)は、こちらです。