Описание команды" top " в Android
Я делаю небольшое приложение для Android, чтобы показать текущее общее использование процессора, как производительность вкладки в Диспетчере задач Windows. Я использую "top-m 1-n 1-d 1", чтобы получить использование процессора, но я действительно не понимаю результат "top".
как результат:
User 5%, system 15%, IOW 0%, IRQ 0%
User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92
PID CPU% S #THR VSS RSS UID Name
213 11% R 1 900K 340K app_16 top
загрузка ЦП = ??? Как я могу рассчитать общее использование CPU?
4 ответов
принятый ответ на этот вопрос неверен. Вторая строка вывода - это количество потоков/процессов, запущенных в этой группе. Загрузка процессора на 20% выше. 5% из этого от пользовательских приложений и 15% от системных приложений. У вас есть 73 неработающих потока, 14 системных потоков и 5 пользовательских потоков (согласно второй строке).
например, вот текущий верхний снимок для моего дроида.
User 6%, System 5%, IOW 0%, IRQ 0%
User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310
PID CPU% S #THR VSS RSS PCY UID Name
30994 4% S 19 134912K 24140K bg app_24 edu.vu.isis.ammo.spotreport
1021 3% S 57 217400K 58504K fg system system_server
20911 2% R 1 880K 400K fg shell top
1053 0% S 1 0K 0K fg root tiwlan_wq
995 0% S 2 1272K 128K fg compass /system/bin/akmd2
согласно принятому ответу, я бы имейте использование 310% CPU, когда это на самом деле просто количество потоков. Я уверен, что на самом деле я использую только 11% процессора, где верхние 3 процесса используют 9% от этой суммы.
фактический ответ на вопрос прямо вперед-может быть рассчитан из первой строки вывода Android top в
User 5%, system 15%, IOW 0%, IRQ 0%
Итого = сумма всех процентов = 5+15 = 20%
другой ответ о второй строке настолько неправильный. Вторая строка фактически дает планировщику время, проведенное в этом конкретном состоянии-user/sys/idle / iow в jiffies
(нормально 10ms) между одним выходом верхней части и следующим выходом верхней части - в случае OP top -d 1
- который печатает использование каждое во - вторых, общее количество джиффи на ядро будет ~100 (при условии 10 МС на джиффи), что будет аналогично процентным значениям.
User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92
в то время как значения будут больше, если -d
выше, или если есть более одного ядра
User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310
это, вероятно, без каких-либо , так что top
принимает задержку по умолчанию 3 секунд = 300 джиффи.
см. AOSP верхняя исходный код чтобы получить полную логику того, как каждое значение рассчитанный.
top command-это команда linux. Посмотрите здесь
спасибо Дипак!--3-->
процент использования ЦП задается как (100-idle_percentage)
, больше или меньше. В вашем фрагменте,Idle
процент 73, что делает ваше использование процессора 27%.
Что касается использования процессора для каждого процесса, это будет ваш второй столбец из последних 2 строк.