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

我正在寻找一种方法来获取CPU利用率数字,如仪器和活动监视器与C / C ++ / Obj-C,所以我可以做一些自动化testing。 我正在寻找大约1秒的粒度,虽然100毫秒会是理想的。 另一种看待这个问题的方法是“活动监视器如何获取它获取的信息?”。

这是我迄今发现的:

  • 许多* nix等价物似乎不适用于iOS
    • sysctl没有KERN_CPTIME
    • iOS没有proc文件系统,所以我不能使用/ proc / stat。
      • 这消除了很多像vmstat和iostat这样的程序
  • iOS中不存在MacOSX的示例 。

我find了答案。 有一个未公开的API,带有PROCESSOR_CPU_LOAD_INFO风格的host_processor_info(),可以给你系统,用户,好的和空闲的tick的数量。 您必须减去先前调用的时钟周期数才能获得当前的CPU利用率。 记得在你得到的数组上调用vm_deallocate。

你不能。 标准的Un * x访问此信息在iOS应用程序中不可用。