В iOS, как я могу получить текущее использование ЦП из приложения, которое работает? - PullRequest
1 голос
/ 23 июля 2011

Я ищу способ получить числа использования ЦП, как в Instruments и Activity Monitor с C / C ++ / Obj-C, чтобы я мог провести некоторое автоматическое тестирование с ним.Я ищу где-то около 1 секунды детализации, хотя 100 мс было бы идеально.Еще один способ взглянуть на этот вопрос: «Как Activity Monitor получает информацию, которую получает?».

Вот что я обнаружил до сих пор:

  • Многие из *nix-эквиваленты не работают с iOS
    • sysctl не имеет KERN_CPTIME
    • В iOS нет файловой системы proc, поэтому я не могу использовать / proc/ стат.
      • Это устраняет множество программ, таких как vmstat и iostat
  • MacOSX образец не существует в iOS.

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Я узнал ответ. Существует недокументированный API host_processor_info () со вкусом PROCESSOR_CPU_LOAD_INFO, который может дать вам количество системных, пользовательских, хороших и неактивных тиков. Вы должны вычесть количество тактов из предыдущего вызова, чтобы получить текущую загрузку ЦП. Не забудьте вызвать vm_deallocate для полученного массива.

0 голосов
/ 23 июля 2011

Вы не можете. Стандартный доступ Un * x к этой информации недоступен в приложении iOS.

...