ロードアベレージ/CPU負荷を調べる
UNIXの場合
os.getloadavg()を使います。
import os while 1: time.sleep(1) print '(%6.2f, %6.2f, %6.2f)' % os.getloadavg()
float数値3つのタプルを返し、それぞれ直前1分間、5分間、15分間の負荷平均を示します。
( 0.15, 0.14, 0.10)
Windowsの場合
WMIサービスオブジェクトからCPU負荷値が取れます。「CPU負荷が何%なら警告」とかお手軽にやりたければそれを使います。
import time from win32com.client import GetObject wmi = GetObject('winmgmts:') while 1: time.sleep(1) cpu = wmi.InstancesOf('Win32_Processor') print [x.Properties_('LoadPercentage').Value for x in cpu]
I/Oなども含めて細かい記録を取るような話であればwin32pdhを使います(ここでは省略)。