この記事では、Python でメモリやCPUの使用量を確認する方法を解説します。
Python でメモリやCPUの使用率を確認するには psutil
モジュール を使います。
psutilドキュメント— psutil5.9.1ドキュメント
psutil
モジュール は、標準ライブラリではないので pip
でインストールします。
pip install psutil
それでは、psutil
モジュール の使い方を見ていきましょう。
メモリの使用量を確認するには psutil.virtual_memory()
で返される名前付きタプルから取得できます。
import psutil
mem = psutil.virtual_memory()
print(mem)
実行結果
svmem(total=4294967296, available=1031954432, percent=76.0, used=2073350144, free=34115584, active=999178240, inactive=993165312, wired=1074171904)
名前付きタプルなので属性名で呼び出せる。
import psutil
mem = psutil.virtual_memory()
print(f'メモリ使用率: {mem.percent}')
print(f'メモリ使用量: {mem.used}')
print(f'空き: {mem.free}')
実行結果
メモリ使用率: 76.9
メモリ使用量: 2057265152
空き: 15646720
システム全体のCPU使用率を確認するには psutil.cpu_percent()
を使います。戻り値は float
型の値をパーセントとして返します。
import psutil
psutil.cpu_percent(interval=None, percpu=False)
関数実行時から interval
引数 に指定された間隔(浮動小数点数)の前後のCPU時間を比較し、CPU使用率を返します。
import psutil
cpu = psutil.cpu_percent(interval=1)
print(cpu)
実行結果
1.2
percpu
引数 に True
を指定することでコアごとの使用率を確認できる。
import psutil
cpu = psutil.cpu_percent(interval=1, percpu=True)
print(cpu)
実行結果
[3.0, 1.0, 2.0, 1.0]
注意点として interval
引数 を指定すると その分だけ処理が止まってしまいます。それだと他の処理を実行している間のCPU使用率が測れないので Thread
なんかと組み合わせて使いましょう。