Как захватить использование ядра процессора из программы системного монитора? - PullRequest
2 голосов
/ 22 июля 2011

У меня есть программа на Python, работающая с использованием параллельного Python.Этот модуль масштабирует мою работу, передаваемую на отдельные ядра моего компьютера, я не знаю, как он это делает, но когда я проверяю свой системный монитор, он четко показывает 100% использования в обоих ядрах (я выполняю некоторые действительно тяжелые задания).

Существует ли какой-либо модуль или инструмент python, который позволяет мне регистрировать использование отдельного ядра из программы системного монитора при выполнении моей работы?

Ответы [ 3 ]

6 голосов
/ 22 июля 2011

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]
0 голосов
/ 22 ноября 2016
import psutil 

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

[0.0, 0.0, 0.0] 

values = psutil.cpu_percent() 
print values 

0.0
0 голосов
/ 22 июля 2011

Так что, если у вас есть способ вызвать системный монитор для записи использования ядра в стандартный вывод, вы всегда можете сделать что-то вроде этого:

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 работает здесь .

...