Измерение максимальной памяти при захвате стандартного вывода в Python с использованием подпроцессаPython

Программы на Python
Гость
Измерение максимальной памяти при захвате стандартного вывода в Python с использованием подпроцесса

Сообщение Гость »


Есть ли простой способ измерить максимальное потребление памяти подпроцессом, сохраняя при этом стандартный вывод (и в идеале устанавливая тайм-аут), используя subprocess в Python?

Захват вывода и установка тайм-аута можно легко выполнить с помощью функций подпроцесса:

output = subprocess.run(cmd, capture_output=True, timeout=100) Похоже, что для измерения максимально выделенной памяти требуется опрос, т. е. использование psutil, как в этом примере: Использование памяти подпроцессом в Python. Но в этом случае также необходимо будет реализовать захват стандартного вывода, что быстро становится беспорядочным (subprocess запускает новый поток для чтения стандартного вывода)

Вернуться в «Python»