Как читать данные об использовании стандартного процессора

114

В Ice Cream Sandwich в параметрах разработчика есть опция «Показать использование процессора», которая добавляет на экран оверлей (см. Снимок экрана ниже).

У меня вопрос, как мне прочитать данные? Я догадывался, что имена пакетов являются активными в настоящее время процессами, но что означают красные и зеленые полосы позади? И какие 3 числа наверху пакетов?

введите описание изображения здесь

XGouchet
источник
1
Есть ли у нас что-нибудь подобное для ОЗУ?
Behnam
2
Мои 3 "средней нагрузки" - около 9.0. Зеленые и красные полосы почти не видны, они достигают примерно 5% ширины экрана в играх с интенсивной графикой, после чего «средняя загрузка» достигает примерно 10,0. Мой телефон - четырехъядерный, и батареи хватает на много лет. Я думаю, что ответы здесь неполные.
Джон
2
@Campiador Это опоздание примерно на 1 год, но для RAM вы можете запустить c: \> adb shell vmstat <ENTER>, чтобы просмотреть информацию о памяти. Перейдите в папку android-sdk-windows \ platform-tools \ для adb.
raddevus 03

Ответы:

78

Это должна быть средняя загрузка Unix. В Википедии есть хорошая статья об этом.

Цифры показывают среднюю загрузку процессора в разные промежутки времени. Слева направо: последняя минута / последние пять минут / последние пятнадцать минут

NKR
источник
2
С сайта разработчиков: Показать использование ЦП Отображает счетчики ЦП в верхней части экрана, показывая, насколько используется ЦП. Верхняя красная полоса показывает общую загрузку ЦП, а зеленая полоса под ней показывает время ЦП, потраченное на компоновку экрана. Примечание. Вы не можете отключить эту функцию после ее включения без перезапуска эмулятора. developer.android.com/tools/debugging/debugging-devtools.html
Рольф ツ
45
«Зеленый - время в пользовательском пространстве, красный - время в ядре, синий - время прерывания io». - Дайан Хакборн groups.google.com/forum/?fromgroups=#!topic/android-platform/…
Бо.
1
Есть ли одна планка на ядро? Я вижу только 2 полоски, но у меня четырехядерный аппарат. Означает ли это, что я использую не все ядра?
Кен
5
@Ken: Полоски - это средняя загрузка всего процессора, а не ядер. Верхняя панель показывает использование ЦП ОС и всеми программами, а другие полосы показывают использование ЦП конкретной программой. Так что не волнуйтесь, Android использует все ядра.
nkr
1
Я немного запуталась. Дайан Хакборн говорит: зеленый = пользовательское пространство, красный = ядро, синий = прерывание, но на сайте разработчика написано: красный = общее использование ЦП, зеленый = компоновка экрана. Звучит не так, как надо, правда?
Тобиас Райх
10

До сих пор это был самый полезный источник информации по этому поводу, который я мог найти. По-видимому, цифры НЕ отражают среднюю загрузку в%: http://forum.xda-developers.com/showthread.php?t=1495763

Vaiden
источник
3
средняя загрузка никогда не выражается в%
Sparr
3

Как указывали другие ответы, в системах UNIX числа представляют среднюю загрузку процессора за периоды 1/5/15 минут. Но в Linux (и, следовательно, в Android) он представляет собой нечто иное.

После патча ядра, выпущенного еще в 1993 году ( отличная подробная статья на эту тему ), в Linux средние значения нагрузки больше не представляют строго процессор.нагрузка: поскольку расчет учитывает не только процессы, связанные с процессором, но также и процессы в состоянии непрерывного ожидания - исходной целью было учесть связанные процессы ввода-вывода таким образом, чтобы представить большую «загрузку системы», чем просто загрузку процессора . Проблема в том, что с 1993 года в ядре Linux выросло использование непрерывного состояния, и оно больше не представляет собой связанный процесс ввода-вывода. Проблема еще больше усугубляется тем, что некоторые разработчики Linux используют непрерывное ожидание как простое ожидание, чтобы избежать размещения сигналов в своих реализациях. В результате в Linux (и Android) мы можем видеть искаженные средние значения высокой нагрузки, которые объективно не отражают реальную нагрузку. Есть отчеты пользователей Android о неоправданно высоких средних нагрузках, контрастирующих с низкой загрузкой ЦП. Например, мой старый телефон Android (с двумя ядрами ЦП) обычно показывал среднюю нагрузку ~ 12, когда система и ЦП были в режиме ожидания. Следовательно, средние значения загрузки в Linux (Android) не являются надежным показателем производительности.

Slider2k
источник
2

Подробнее о "средней нагрузке", показывающей загрузку ЦП за 1 минуту, 5 минут и 15 минут.

Linux, Mac и другие Unix-подобные системы отображают «среднюю нагрузку». Эти числа говорят вам, насколько загружен ваш системный процессор, диск и другие ресурсы. Сначала они не говорят сами за себя, но с ними легко познакомиться.

WIKI: example, one can interpret a load average of "1.73 0.60 7.98" on a single-CPU system as:

during the last minute, the system was overloaded by 73% on average (1.73 runnable processes, so that 0.73 processes had to wait for a turn for a single CPU system on average).
during the last 5 minutes, the CPU was idling 40% of the time on average.
during the last 15 minutes, the system was overloaded 698% on average (7.98 runnable processes, so that 6.98 processes had to wait for a turn for a single CPU system on average) if dual core mean: 798% - 200% = 598%. 

Вероятно, у вас есть система с несколькими процессорами или многоядерным процессором. В такой системе значения средней загрузки работают немного иначе. Например, если у вас средняя загрузка в однопроцессорной системе 2, это означает, что ваша система была перегружена на 100 процентов - весь период времени один процесс использовал ЦП, а другой процесс ждал. В системе с двумя ЦП это было бы полное использование - два разных процесса все время использовали два разных ЦП. В системе с четырьмя ЦП это будет половина использования - два процесса используют два ЦП, а два ЦП простаивают.

Чтобы понять среднее значение нагрузки, вам необходимо знать, сколько процессоров имеет ваша система. Средняя загрузка 6,03 указывает на то, что система с одним процессором была сильно перегружена, но этого будет нормально на компьютере с 8 процессорами.

подробнее: Ссылка

Дж-шань хуан
источник
1

Из книги High Performance Android Apps (страница 157):

  • что мы видим эквивалент dumpsys ADB оболочки CPUInfo команды
  • Цифры показывают загрузку ЦП за 1 минуту, 5 минут и 15 минут (слева)
  • Цвета показывают время, проведенное ЦП в пользовательском пространстве (зеленый), ядро ​​(красный) и прерывание ввода-вывода (синий)
SeeR
источник