我想记录长时间运行的线程(即在应用程序的整个生命周期中处于活动状态的线程)的堆栈使用情况,我该怎么办?像“xxxxKB used”这样的东西就足够了。
(Python 2.6.6,FreeBSD 8.2-RC3)
答案 0 :(得分:0)
由于您指定了FreeBSD,因此Python附带的resource
模块(但仅适用于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