Я не уверен, пытаетесь ли вы найти пиковое использование ЦП во время выполнения этого #kalman code
, или среднее, или общее, или что-то еще?
Но вы не можете получить ни одного из них, позвонив cpu_percent()
после того, как это будет сделано.Вы просто измеряете загрузку процессора, набирая cpu_percent()
.
Некоторые из них вы можете получить, позвонив по номеру cpu_times()
.Это скажет вам, сколько секунд было потрачено на выполнение различных действий, включая общее «время ЦП пользователя» и «время ЦП системы».Документы точно указывают, какие значения вы получаете на каждой платформе и что они означают.
На самом деле, если это все, что вы хотите (включая только эти два значения), вам даже не нужно psutils
, вы можете просто использовать os.times()
в стандартной библиотеке.
Или вы можете просто использовать команду time
вне вашей программы, запустив time python myscript.py
вместо python myscript.py
.
Для других вам нужно позвонить cpu_percent
, пока ваш код работает .Одно простое решение - запустить фоновый процесс с multiprocessing
или concurrent.futures
, который просто вызывает cpu_percent
в вашем основном процессе.Чтобы получить что-нибудь полезное, дочернему процессу может потребоваться периодически вызывать его, агрегируя результаты (например, чтобы найти максимум), пока ему не будет приказано остановиться, и в этот момент он может вернуть агрегат.
Так какэто не совсем тривиально для написания, и определенно нелегко объяснить, не зная, насколько хорошо вы знакомы с многопроцессорной обработкой, и есть хороший шанс, что на самом деле вы хотите здесь cpu_times()
, я не буду вдаваться в подробности, если об этом не спросят.