2010-01-12 67 views
7

我有一个多线程的Python应用程序,我目前正在排除非常高(90%或更多)的CPU使用率。配置文件Python CPU使用率通过线程

我正在尝试探查器,但我想知道是否有一种方法可以从应用程序中获取每个线程的CPU使用率。我知道os.times()将总体上获得CPU使用 - 是否有一些我可以从每个线程内运行以获得每个线程的使用?确定哪个线程正在吃掉CPU会非常有帮助。

+0

什么操作系统你打算上测试/支持? – 2010-01-12 15:36:42

+0

主要是Windows,但我们也支持Linux。 Windows的CPU使用率很高,但我们现在还没有在Linux上测试过它。 – Dave 2010-01-12 15:47:22

回答

1

除了剖析器,我不认为Python有很多内置的监视单独的线程CPU使用率。另外,this post提供了一个简单实现线程分析器的例子。它似乎主要面向基于Unix的系统,但这是一个开始。

0

如果您在Windows上,可以查看Process Explorer(与Microsoft's Sysinternals Tools一起发货的“procexp.exe”)。每个进程的属性中都有一个“Threads”选项卡,列出所有线程及其CPU时间。

如果这样不能提供足够的信息,请使用Python的profiling mechanisms,这些信息不太难用。