按线程配置Python CPU使用情况

按线程配置Python CPU使用情况,python,Python,我有一个多线程Python应用程序,目前正在对CPU使用率非常高(90%或更多)的问题进行故障排除 我将尝试使用分析器,但我想看看是否有一种方法可以从应用程序中获得每个线程的CPU使用率。我知道os.times()将获得总体CPU使用率-我是否可以从每个线程中运行一些东西来获得每个线程的使用率?确定哪个线程正在消耗CPU是非常有帮助的。除了探查器之外,我认为Python没有太多的内置功能来监视单个线程的CPU使用情况。此外,还提供了线程探查器的简单实现示例。它似乎主要面向基于Unix的系统,但这

我有一个多线程Python应用程序,目前正在对CPU使用率非常高(90%或更多)的问题进行故障排除


我将尝试使用分析器,但我想看看是否有一种方法可以从应用程序中获得每个线程的CPU使用率。我知道os.times()将获得总体CPU使用率-我是否可以从每个线程中运行一些东西来获得每个线程的使用率?确定哪个线程正在消耗CPU是非常有帮助的。

除了探查器之外,我认为Python没有太多的内置功能来监视单个线程的CPU使用情况。此外,还提供了线程探查器的简单实现示例。它似乎主要面向基于Unix的系统,但这只是一个开始。

如果您使用的是Windows,您可以查看Process Explorer(“procep.exe”随附)。在每个进程的属性中都有一个“线程”选项卡,其中列出了所有线程及其CPU时间


如果这还不能为您提供足够的信息,请使用Python,这并不难使用。

或者您可以简单地使用yappi。()如果选择CPU时钟类型进行分析,它将透明地使用GetThreadTimes()。它将显示运行线程的CPU时间


另请参见此处的示例:

您计划在/支持哪些操作系统上进行测试?主要是Windows,但我们也支持Linux。高CPU使用率出现在Windows上,但目前我们还没有在Linux上进行测试。