2

CPUの外部プロセスの使用率を取得しようとしていpythonます。このトピックに関する他の投稿を見たことがありますが、あまり役に立ちませんでした。次の関数を実行すると、 で表示されているものと一致しない値が得られますtask manager。たとえば、クロム プロセスを監視している場合、1 から 2 の間で変動する値を取得しますが、タスク マネージャーは 25 から 30 の間で変動する値を示します。何か提案はありますか? ありがとう。

def monitor(pid):
    cpu_table = []
    p = psutil.Process(pid)
    while p.is_running():
        cpu_table.append(p.get_cpu_percent())
        time.sleep(1)
    return cpu_table
4

1 に答える 1

2
  1. いくつかの chrome プロセスがあり、間違ったものを監視している可能性があります
  2. cpu_percent() 「最後の呼び出しまたはモジュールのインポート以降に経過したシステム CPU 時間を比較します」 . タスクマネージャーが使用するものと同じものを渡しintervalます(場合によっては、1秒ではありません)。monitor()関数とタスク マネージャーの両方を同時に開始してください
于 2015-03-28T13:34:03.820 に答える