在iOS中,如何从正在运行的应用程序中获取当前的CPU利用率?

时间:2011-07-22 21:39:18

标签: ios profiling instruments activity-monitor

我正在寻找一种方法来获取CPU利用率数字,如在Instruments和Activity Monitor中使用C / C ++ / Obj-C,因此我可以使用它进行一些自动化测试。我正在寻找大约1秒钟的粒度,尽管100毫秒是理想的。另一种看待这个问题的方法是“Activity Monitor如何获取它获得的信息?”。

这是我到目前为止所发现的:

  • 许多* nix等价物似乎不适用于iOS
    • sysctl 没有KERN_CPTIME
    • iOS没有proc文件系统所以我无法使用 的/ proc / STAT。
      • 这消除了许多程序,如vmstat和iostat
  • 的MacOSX的 sample 在iOS中不存在。

2 个答案:

答案 0 :(得分:1)

我找到了答案。有一个未记录的API,host_processor_info(),带有PROCESSOR_CPU_LOAD_INFO风格,可以为您提供系统,用户,漂亮和空闲滴答的数量。您必须从之前的调用中减去滴答数,以获得当前的CPU利用率。记得在你得到的数组上调用vm_deallocate。

答案 1 :(得分:-1)

你做不到。 iOS应用程序中不提供对此信息的标准Un * x访问。