Общая память используется процессом Python?

Существует ли путь к программе Python для определения, сколько памяти он в настоящее время использует? Я видел дискуссии об использовании памяти для отдельного объекта, но в чем я нуждаюсь, использование общей памяти для процесса, так, чтобы я мог определить, когда необходимо начать отбрасывать кэшированные данные.

228
задан jmlane 28 August 2012 в 04:16
поделиться

2 ответа

В unix вы можете использовать инструмент ps для его мониторинга:

$ ps u -p 1347 | awk '{sum=sum+$6}; END {print sum/1024}'

где 1347 - это некоторый идентификатор процесса. Кроме того, результат отображается в МБ.

30
ответ дан 23 November 2019 в 03:44
поделиться

В Windows вы можете использовать WMI ( домашняя страница , Cheeseshop ):


def memory():
    import os
    from wmi import WMI
    w = WMI('.')
    result = w.query("SELECT WorkingSet FROM Win32_PerfRawData_PerfProc_Process WHERE IDProcess=%d" % os.getpid())
    return int(result[0].WorkingSet)

В Linux (из поваренной книги python http://code.activestate.com/recipes/286222/:[1218 visible

64
ответ дан 23 November 2019 в 03:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: