Количество тактов Android [Герц]

В вопросе об «общем использовании процессора приложением из / proc/pid/stat" - это объяснение того, как получить загрузку процессора, но для этого мы должны знать тактовые импульсы.

Но как я могу получить это значение в Android (непосредственно с устройства)? Я просто не понимаю, как использовать следующую функцию в Android, потому что это похоже на команду Linux.

Герц (количество тактов в секунду) вашей системы. В большинстве случаев можно использовать sysconf(_SC_CLK_TCK) для возврата количества тиков часов.


person Michal    schedule 27.12.2014    source источник
comment
sysconf(_SCK_CLK_TCK) — это вызов функции C (т. е. он должен быть скомпилирован в используемая программа). Эквивалентом команды оболочки является getconf CLK_TCK. К сожалению, в Android отсутствует утилита getconf.   -  person Vilhelm Gray    schedule 07.07.2015
comment
возможный дубликат Что именно такт часов в контексте использования ЦП Android?   -  person Vilhelm Gray    schedule 07.07.2015


Ответы (1)


Знание частоты ЦП вашего устройства должно позволить вам рассчитать общее использование ЦП для приложения, как обсуждалось в сообщении, которое вы упомянули в своем вопросе. Вы можете получить информацию о текущей частоте процессора, обратившись к определенным системным файлам, расположенным в каталоге /sys:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

Это скажет вам, какова текущая частота процессора. Вы также можете определить максимально и минимально возможные частоты процессора, прочитав файлы cpuinfo_max_freq и cpuinfo_min_freq соответственно:

/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

person Willis    schedule 27.12.2014
comment
Ядро Linux (которое работает под управлением Android) абстрагирует истинные аппаратные часы процессора. Значения, перечисленные в файлах proc Linux, масштабируются до псевдотактовой частоты с помощью константы USER_HZ ядра Linux; это USER_HZ значение в герцах, которое необходимо использовать. Значение в /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq скорее всего не равно константе USER_HZ. - person Vilhelm Gray; 07.07.2015