Objective c 如何获取CPU最密集的应用程序的名称?

Objective c 如何获取CPU最密集的应用程序的名称?,objective-c,macos,Objective C,Macos,我特别要求在OS X上提供Objective-C/C解决方案。应用程序的CPU强度可以定义为它使用的CPU的百分比。这个问题有很多答案 如果你的意思是“现在什么在使用最多的CPU?”,答案几乎总是你的应用程序,因为它被安排在一个核心上回答这个问题 这意味着你真的在寻找一个平均值。但这也不是很容易回答的问题。如果你对一个应用程序的平均使用率进行评估,发现它的使用率很低。如果缩短差距,您可能会看到某些应用程序人为地具有非常高的%s 转到终端窗口并键入top-u。然后在你做事的时候观察波动 事实上,在

我特别要求在OS X上提供Objective-C/C解决方案。应用程序的CPU强度可以定义为它使用的CPU的百分比。

这个问题有很多答案

如果你的意思是“现在什么在使用最多的CPU?”,答案几乎总是你的应用程序,因为它被安排在一个核心上回答这个问题

这意味着你真的在寻找一个平均值。但这也不是很容易回答的问题。如果你对一个应用程序的平均使用率进行评估,发现它的使用率很低。如果缩短差距,您可能会看到某些应用程序人为地具有非常高的%s

转到终端窗口并键入
top-u
。然后在你做事的时候观察波动


事实上,在一个完全多任务系统上测量应用程序的CPU使用率充满了各种微妙的细节。我建议查看
top
命令的源代码,该命令可能位于网站上的“bsd utils”或“bsd commands”或类似软件包中。

这是一个完美的答案,但由于这是一个开发人员网站,我想我应该提到,Instruments有一个名为Time Profiler的工具,它可以跟踪CPU的使用情况,只要它在运行。您可以运行它30秒(例如),并获取在这30秒内花费最多时间的进程,以及(如果您有符号信息)它们在这段时间内做了什么。(仪器可能就是其中之一。)