2011-02-08 46 views
3

我想记录长时间运行的线程(即在应用程序的整个生命周期中处于活动状态的线程)的堆栈使用情况,我该如何做?像“使用xxxxKB”就足够了。如何从Python中告诉线程堆栈的用法?

(Python的2.6.6,FreeBSD的8.2 RC3)

回答

0

既然你指定的FreeBSD的,附带的Python(但只适用于Unix的-Y环境)resource模块可能会有所帮助。具体而言,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 
+0

在我的系统RUSAGE_BOTH没有定义......我会尝试RUSAGE_SELF,谢谢:) – Joril 2011-02-09 20:38:14