Как определить использование стека потоков из Python? - PullRequest
3 голосов
/ 09 февраля 2011

Я бы хотел зарегистрировать использование стека долго работающим потоком (то есть тем, который активен в течение всей жизни приложения), как я могу это сделать? Было бы достаточно что-то вроде «xxxxKB used».

(Python 2.6.6, FreeBSD 8.2-RC3)

1 Ответ

0 голосов
/ 09 февраля 2011

Поскольку вы указали FreeBSD, может пригодиться модуль resource, который поставляется с Python (но работает только для сред Unix-y). В частности, resource.getrusage(resource.RUSAGE_BOTH) предоставляет вам ресурсы, используемые этим процессом и всеми дочерними процессами.

Похоже, вас заинтересует следующее:

    ru_maxrss   maximum resident set size
    ru_ixrss    shared memory size
    ru_idrss    unshared memory size
    ru_isrss    unshared stack size
...