2011-07-22 15 views
2

私は、Pythonプログラムを並列Pythonを使用して実行している。このモジュールは自分の仕事を自分のコンピュータの個々のコアに適用しているが、どうしているのか分からないが、私のシステムモニタを確認すると、両方のコアで100%の使用率を示している。システムモニタプログラムからCPUコア使用量を取得する方法は?

ジョブを実行するときにシステムモニタプログラムから個々のコア使用量を取得できるようにするPythonモジュールまたはツールはありますか?

答えて

5

psutil

>>> for x in range(3): 
...  psutil.cpu_percent(interval=1, percpu=True) 
... 
[4.0, 6.9] 
[7.0, 8.5] 
[1.2, 9.0] 
-1

あなたがstdoutにコアの使用を記述するために、システムモニタを呼び出す方法を持っているのであれば、あなたは常にこのような何かを行うことができます。

import subprocess 
command = 'top -b -n 1' # or whatever you use 
output = subprocess.Popen(command, stdout=subprocess.PIPE).communicate[0] 

# parse output here and extract cpu usage. this is super-dependent 
# on the layout of your system monitor output 
cpuline = output.split('\n')[2] 

あなたが読むことができますどのようにsubprocess作品here

+0

システムモニタからコンテンツを出力したいのですが、システムモニタを呼び出す方法がありません。 – Rahul

+0

どうすればシステムモニタを確認できますか?行の下のどこかで、システムモニタープログラムを呼び出す必要があります。その場合は、それを呼び出すことができます。それとも、すでにバックグラウンドで実行されていますか?実行中のプロセスに現在の状態を問い合わせる方法が存在する可能性があります。 –

+0

ライブラリーを使ってきれいに答えてください。パイピングはハッキーです。 – TimZaman

0
import psutil 

values = psutil.cpu_percent(percpu=True) 
print values 

[0.0, 0.0, 0.0] 

values = psutil.cpu_percent() 
print values 

0.0 
+3

ようこそ[so]。 [回答]を確認してください。コードのみの回答は、自分が何をしているのかを説明するものほど役に立ちません。 – TemporalWolf

関連する問題