1

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

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

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

2 回答 2

1

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

于 2011-07-26T17:17:44.880 回答
-1

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

于 2011-07-22T21:44:00.093 回答