Python

【Python】使用しているメモリやCPUを確認する

この記事では、Python でメモリやCPUの使用量を確認する方法を解説します。

メモリやCPUの使用率を確認するには?

Python でメモリやCPUの使用率を確認するには psutilモジュール を使います。

psutilドキュメント— psutil5.9.1ドキュメント

psutilモジュール は、標準ライブラリではないので pip でインストールします。

pip install psutil

pipのインストール

それでは、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の使用率を確認する

システム全体の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 なんかと組み合わせて使いましょう。

並行処理を行う方法を解説