macOS:从内部监控应用程序CPU负载

时间:2018-08-21 11:11:05

标签: macos performance foundation mach

我已经开发了一个可执行的mach-o,从中可以生成一个进程,该进程可以超过CPU利用率,并超过触发Spindump分析的阈值。这种检查非常耗时,并且可能会暂停等待内核响应的线程,因此我想避免这种情况。

因此,我希望找到一种准确的方法来衡量我的进程对单独线程上的CPU负载的贡献,并且在超过预定时间量的某个阈值时,它将触发我的用户空间的暂时冷却处理。

我刚刚发现top使用task_info发送马赫端口消息来获取此信息。也许有人研究过如何正确使用此方法,以便在我自己的过程中获得与%CPU等效的方法?

请注意,我的可执行文件不是基于Cocoa的,因此它没有NSRunLoop,但是它是C ++ / Objective-C / Swift混合项目,因此我可以使用任何Foundation.framework

0 个答案:

没有答案