パフォーマンス分析のために、サブプロセスの CPU とメモリの使用率を取得したいと考えています。このコードを書いていますが、出力の情報が必要かつ十分かどうかはわかりません...
import psutil
import time
import subprocess
cmd = "python myScript.py" # for example
start_time = time.time()
proc = psutil.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
psProc = psutil.Process(proc.pid)
cpuTime = []
memoryPercent = []
while proc.poll() == None:
cpuTime.append(psProc.cpu_times())
memoryPercent.append(psProc.memory_percent())
time.sleep(1)
execTime = str(time.time() - start_time)
print "\n".join(["execution total time " + execTime, str(max(cpuTime)), "max memory Percent " + str(max(memoryPercent)), "moy memory Percent " + str(sum(memoryPercent)/len(memoryPercent))])
助けてくれてありがとう。