Как узнать что грузит процессор андроид. Почему Android со временем начинает тормозить и как с этим бороться. Количество ядер важно для правильно понимания load average. Как мне его узнать

Как узнать что грузит процессор андроид. Почему Android со временем начинает тормозить и как с этим бороться. Количество ядер важно для правильно понимания load average. Как мне его узнать

06.03.2019

Данная заметка является переводом статьи из блога компании Scout. В статье дается простое и наглядное объяснение такого понятия, как load average . Статья ориентирована на начинающих Linux-администраторов, но, возможно, будет полезна и более опытным админам. Заинтересовавшимся добро пожаловать под кат.

Вероятно, Вы уже знакомы с понятием load average . Load average - это три числа, отображаемые при выполнении команд top и uptime . Выглядят они примерно так:
load average: 0,35, 0,32, 0,41
Большинство интуитивно понимают, что эти три числа обозначают средние значения загрузки процессора на прогрессивно увеличивающихся временных промежутках (одна, пять и пятнадцать минут) и чем меньше их значения - тем лучше. Большие числа свидетельствуют о слишком большой нагрузке на сервер. Но какие значения считать предельными? Какие значения являются «плохими», а какие - «хорошими»? Когда Вам следует просто волноваться о занчениях средней загрузки, а когда следует бросать другие дела и решать проблему так быстро, как это возможно?
Для начала, давайте разберемся, что же означает load average . Рассмотрим простейший случай: предположим, что у нас в наличии один сервер с одноядерным процессором.

Аналогия транспортного потока

Одноядерный процессор похож на дорогу с одной полосой движения. Представьте себе, что Вы управяете движением машин по мосту. Иногда, Ваш мост загружен настолько сильно, что машинам приходится ждать в очереди чтобы проехать по нему. Вы хотите дать людям понять, как долго им придется ждать чтобы перебраться на другую сторону реки. Хорошим способом сделать это будет показать как много машин ждут в очереди в конкретный момент времени . Если машин в очереди нет, подъезжающие водители будут знать, что они сразу смогут проехать по мосту. В противном случае, они будут понимать, что придется ждать своей очереди.
Итак, Управляющий Мостом, какую систему обозначений Вы будете использовать? Как насчет такой:
  • 0.00 означает, что на мосту нет ни одной машины. Фактически, значения от 0.00 до 1.00 означают отсутствие очереди. Подъезжающая машина может воспользоваться мостом без ожидания;
  • 1.00 означает, что на мосту находится как раз столько автомобилей, сколько он может вместить. Все еще идет хорошо, но, в случае увеличения потока машин, возможны проблемы;
  • Значения, превышающие 1.00 означают наличие очереди на въезде. Насколько большой? Например, значение 2.00 показывает, что в очереди стоит столько же автомобилей, сколько движется по мосту. 3.00 означает, что мост полностью занят и в очереди ожидает в два раза больше машин, чем он может вместить. И так далее.
load average = 1.00
load average = 0.50
load average = 1.70
Вот базовое значение загрузки процессора. «Машины» обрабатываются с использованием промежутков процессорного времени («пересекают мост»), либо ставятся в очередь. В Unix это называется длина очереди выполнения : количество всех процессов, выполняемых в данный момент времени, плюс количество процессов, ожидающих в очереди.
Вам, как управляющему мостом, хотелось бы, чтобы машины-процессы никогда не ждали в очереди. Таким образом, предпочтительно, чтобы загрузки процессора была всегда ниже 1.00. Периодически возможны всплески трафика, когда загрузка будет превышать 1.00, но если она постоянно превышает данное значение - это повод начать волноваться.

Так Вы говорите, 1.00 - идеальное значание load average?

Не совсем. Проблема со значением 1.00 в том, что у Вас не остается запаса. На практике, многие системные администраторы проводят черту на отметке 0.70:
  • Практическое правило «Требуется присмотр»: 0.70. Если среднее значение загрузки постоянно превышает 0.70, следует выяснить причину такого поведения системы во избежании проблем в будущем;
  • Практическое правило «Почини это немедленно!»: 1.00. Если средняя загрузка системы превышает 1.00, необходимо срочно найти причину и устранить ее. В противном случае, Вы рискуете быть разбуженным посреди ночи и это точно не будет весело;
  • Практическое правило «Щас же 3 ночи!!! ШОЗАНАХ??!!»: 5.00. Если среднее значение загрузки процессора превышает 5.00, у Вас серьезные проблемы. Сервер может подвисать или работать очень медленно. Скорее всего, это произойдет в худший из возможных моментов. Например, посреди ночи или когда Вы выступаете с докладом на конференции.

Что насчет многопроцессорных систем? Мой сервер показывает загрузку 3.00 и все ОК!

У Вас четырехпроцессорная система? Все в порядке, если load average равен 3.00.
В мультипроцессорных системах загрузка вычисляется относительно количества доступных процессорных ядер. 100% загрузка обозначается числом 1.00 для одноядерной машины, числом 2.00 для двуядерной, 4.00 для четырехъядерной и т.д.
Если вернуться к нашей аналогии с мостом, 1.00 означает «одну полностью загруженную полосу движения». Если на мосту всего одна полоса, 1.00 означает, что мост загружен на 100%, если же в наличии две полосы, он загружен всего на 50%.
То же самое с процессорами. 1.00 означает 100% загрузки одноядерного процессора. 2.00 - 100% загрузки двуядерного и т.д.

Многоядерность vs. многопроцессорность

Что лучше: один процессор с двумя ядрами или два отдельных процессора? С точки зрения производительности, оба этих решения примерно равны. Да, примерно. Здесь существут множество нюансов, связанных с величиной кэша, переключениями процессов между процессорами т.д. Несмотря на это, единственной важной для измения загрузки системы характеристикой является общее количество ядер вне зависимости от того, на скольких физических процессорах они находятся.
Что приводит нас к еще двум практическим правилам:
  • «Количество ядер = максимальная загрузка». На многоядерной системе, загрузка не должна превышать количества доступных ядер;
  • «Ядра - они и в Африке ядра». То, как ядра распределены по процессорам - неважно. Два четырехъядерных = четыре двуядерных = восем одноядерных процессоров. Имеет значение лишь общее число ядер.

Сведем все вместе

Давайте посмотрим на средние значения загрузки с помощью команды uptime:
~$ uptime 09:14:44 up 1:20, 5 users, load average: 0,35, 0,32, 0,41
Здесь представлены показатели для системы с четырехъядерным процессором и мы видим, что имеется большой запас по нагрузке. Я даже не буду задумываться о ней, пока load average не превысит 3.70.
Какое среднее значение мне следует контролировать? Для одной, пяти или 15 минут?
Для значений, о которых мы говорили раньше (1.00 - почини это немедленно и т.д.), следует рассматривать временные промежутки в пять и 15 минут. Если загрузка Вашей системы превышает 1.00 на интервале в одну минуту, все в порядке. Если же загрузка превышает 1.00 на пяти- или 15-минутном интервале, Вам следует начать принимать меры (конечно, Вам следует также принимать во внимание количество ядер в Вашей системе).
Количество ядер важно для правильно понимания load average. Как мне его узнать?
Команда cat /proc/cpuinfo выводит информацию обо всех процессорах в вашей системе. Чтобы узнать количество ядер, «скормите» ее вывод утилите grep:
~$ cat /proc/cpuinfo | grep "cpu cores" cpu cores: 4 cpu cores: 4 cpu cores: 4 cpu cores: 4

Примечания переводчика

Выше представлен перевод самой статьи. Также много интересной информации можно почерпнуть из комментариев к ней. Так, один из комментаторов говорит о том, что не для каждой системы важно иметь запас по производтельности и не допускать значения загрузки выше 0.70 - иногда нам нужно чтобы сервер работал «на всю катушку» и в таких случаях load average = 1.00 - то, что доктор прописал.

PS

Хабраюзер dukelion добавил в комментариях ценное замечание, что в некоторых сценариях, для достижения максимального КПД «железа», стоит держать значение load average несколько выше 1.00 в ущерб эффективности работы каждого отдельного процесса.

PPS

Хабраюзер enemo в комментариях добавил замечание о том, что высокий показатель load average может быть вызван большим количеством процессов, выполняющих в данный момент операции чтения/записи. То есть, load average > 1.00 на одноядерной машине не всегда говорит о том, что в Вашей системе отсутствует запас по загрузке процессора. Требуется более внимательное изучение причин такого показателя. Кстати, это хорошая тема для нового поста на Хабре:-)

PPPS

Хабраюзер esvaf в комментариях интересуется, как интерпретировать значения load average в случае использования процессора с технологией HyperThreading. Однозначного ответа на данный момент я не нашел. В данной статье утверждается, что процессор, который имеет два виртуальных ядра при одном физическом, будет на 10-30% более производительным, чем простой одноядерный. Если принимать такое допущение за истину, считаю, при интерпретации load average стоит брать в расчет только количество физических ядер.

Теги: Добавить метки

Специальное приложение для фанатов тюнинга производительности, контроля, для тех, кто хочет знать какие процессы работают на устройстве, как используются процессор, память, сети, аккумулятор.

Приложение способно в ручном и автоматическом режиме делать запись процессов нас вашем устройстве. Приложение автоматически делает снимок, какие процессы запущены и сколько ресурсов они потребляют. Приложение позволяет строить графики загрузки процессора, использования памяти и уровня заряда аккумулятора в момент действия каждого из запущенных процессов. Приложение позволяет останавливать процессы запущенные пользователем, а также позволяет останавливать процессы операционной системы, если на устройстве есть права Суперпользователя (имеется Root).

Особенности :

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

В отличие от других инструментов, CPU Monitor PRO является технически продвинутым приложением, которое записывает информацию о работе устройства в хронологическом порядке. Вы можете настраивать продолжительность записей. Хранить и просматривать можно до 100 записей. CPU Monitor Advanced PRO автоматически начнет запись сведений, если приложение превысит установленные для ЦП предельные значения в течение заданного временного промежутка. Вы можете использовать сохраненную информацию, чтобы определять тенденции поведения программ и процессы, в которых задействовано слишком много ресурсов в течение определенного времени.

Программа CPU Monitor может делать записи или снимки в автоматическом и ручном режимах. Приложение автоматически выполнит снимок запущенного процесса и количества потребляемых ресурсов системы. В этом приложении также доступно графическое отображение каждого наблюдаемого процесса. Кроме того, вы можете просматривать состояние ЦП, памяти и заряда аккумулятора.

Приложение позволяет останавливать процессы, в том числе и процессы ОС, если имеется root-доступ к вашему телефону, в противном случае вы сможете удалить только процессы пользователя. Программа использует лишь 4 % памяти ЦП телефона для запуска режима фонового наблюдения и порядка 8 %, чтобы записывать данные. CPU Monitor Advanced PRO поможет вам определить процессы, постоянно замедляющие работу устройства.
Скачать приложение CPU Monitor PRO на Андроид вы можете по ссылке ниже.

Разработчик: ECNApps
Платформа: Android 4.0 и выше
Язык интерфейса: Английский
Состояние: Full (Полная версия)
Root: Нужен (для некоторых операций)



Ни одна современная операционная система для портативных устройств не может тягаться с Android в плане настроек и возможностей ее кастомизации. Неудивительно, ведь в ОС от Google настроить можно абсолютно все, любую мелочь.

Тем не менее, многие пользователи не в курсе, что огромное количество функций их Андроид-устройства остаются скрытыми. Речь идет о возможности отладки устройства и некоторых других функциях, которые возможны только в «режиме разработчика», который в большинстве случаев отключен и скрыт от глаз пользователя. О том, как его включить и какие возможности он предоставляет, мы расскажем в данном руководстве.

После активации данного режима в меню настроек Андроида появляется новый раздел под названием «Для разработчиков». Он открывает пользователю новые возможности. Некоторые из них, которые могут быть полезны даже простому пользователю, рассмотрим далее:

  • Размер буфера журнала – предоставляет возможность выбора объема памяти ;
  • Ускорение работы GPU – активирует обработку двухмерной графики;
  • Показывать загрузку ЦП – выводит экран с информацией о текущей загрузке центрального процессора;
  • Подключение USB – выбор режима работы устройства при подсоединении его к ПК по USB;
  • Отладка по USB – задействует режим отладки при подсоединении вашего Android к ПК с помощью кабеля.
  • Фиктивное местоположение устройства – позволяет заставить приложения «думать», что вы находитесь в другой точке мира.

Активация

Включить режим для разработчика несложно. Для этого нужно:

Перечень доступных настроек

Теперь разберем функции раздела для разработчиков более подробно.

Будьте внимательны: при работе с настройками в режиме разработчика из-за неопытности пользователей может случиться сбой в работе устройства и даже произойти потеря данных. Поэтому рекомендуется включать и отключать те или иные функции с осторожностью.

  • Создание отчета об ошибках. Опция предназначена для отправки отчета об ошибках. Файлы для отправки создаются в течение пары минут.
  • Пароль для резервного копирования. Данный пункт дает возможность использовать ADB для создания резервного копирования данных на ПК. Для создания копии, требуется обязательный ввод пароля.
  • Активный режим. Если эта опция включена, экран устройства при его подключении к ПК не будет гаснуть. Стоит использовать с осторожностью, поскольку длительная работа экрана может его испортить.
  • Выбор рабочего модуля. Инструмент для выбора ART или Davlik. Не стоит ничего менять, если вы не знаете, для чего они необходимы.
  • Включение журнала трансляций операций HCI Bluetooth. Данная функция полезна только для разработчиков, поскольку позволяет вести перехват и анализ пакетов Bluetooth. После включения данной опции, пакеты будут сохраняться в файле «btsnoop_hci.log». Файл можно открыть и проанализировать в программе «Wireshark» или аналогичной.
  • Статистика процессов. Показывает информацию о процессах, которые в данный момент запущенны на устройстве. Для простого пользователя пользы не представляет.
  • Отладка USB. Позволяет подключать устройство к ПК через ADB.
  • Отзыв авторизации отладки USB. При первой отладке устройства по USB, его требуется авторизовать, используя для этого ключи. С помощью данной настройки, можно отменить это действие и повторить его еще раз.
  • Отчеты об ошибках. Опция очень полезна для тестирования приложений. При помощи зажатой кнопки питания можно проводить сбор и отправку отчетов о сбоях и ошибках.
  • Фиктивные местоположения. Позволяет вручную установить местоположение. Используется некоторыми разработчиками для тестирования приложений с привязкой по геоданным.
  • Приложения для отладки. Можно вручную задать приложения для отладки. Помогает разработчикам убедиться в корректной работе кода приложения.
  • Проверка по USB. С помощью данной опции можно проводить сканирование поставленных через ADB приложений и выявлять вредоносную активность.
  • Отображение касаний. Если опция активирована, на экране будут появляться визуальные эффекты, отображающие прикосновения к экрану.
  • Местоположение указателя. Выводит на экран координаты последней точки прикосновения к экрану.
  • Отображение границ макета. Отображение контуров элементов в диалоговых окнах. Позволяет более точно определить, куда нужно нажимать, чтобы активировать элемент на экране.
  • Написание справа налево. Включает изменение ориентации экрана. Опция требуется для работы с правосторонним вводом символов (необходимо для некоторых языков).
  • Эмуляция дополнительного дисплея. Полезно только для разработчиков, поскольку позволяет эмулировать разные размеры дисплея.
  • Принудительный рендеринг. Включает использование приложениями аппаратного двухмерного рендеринга. В некоторых случаях, может дать прибавку производительности, в некоторых наоборот, все испортить. Лучше использовать с осторожностью.
  • Отладка наложения. Позволяет видеть наложения, которые происходят в момент отрисовки графической системой изображений поверх чего-либо.
  • Активация 4х MSAA. Принудительно активирует улучшенное сглаживание. После активации заметно ухудшается производительность устройства.
  • Отобразить нагрузку ЦП. Выводит на экран информацию о текущей нагрузке центрального процессора.
  • Установка профиля GPU. Опция позволяет сохранять в отдельный файл график загрузки графической системы.
  • Трассеровка Open GL. Позволяет сохранять все ошибки OpenGL в отдельный файл.
  • Фоновые процессы. Опция позволяет вручную задать количество одновременно работающих в фоне процессов.
  • Показ ANR. Включает отображение системных сообщений при зависании приложений. Полезно если приложения конфликтуют между собой.

Деактивация

Выполнить эту процедуру так же достаточно просто. На некоторых устройствах всего лишь нужно в меню настроек найти и открыть раздел «Для разработчиков» , а в нем пересунуть переключатель в положение «Выключить» . Но таким образом, мы только отключим данный режим, то есть в настройках он еще останется. И опять оговоримся, эта возможность есть далеко не на всех девайсах.

Чтобы полностью убрать функцию из меню, необходимо проделать следующие действия:

Заключение

Разумеется, что большей части пользователей описанные выше настройки совершенно не нужны. Если вы плохо разбираетесь в опциях и не понимаете, для чего они предназначены, лучше оставить их в покое и ничего не изменять. Помните, конфигурации разработчика не просто так скрыты от простых смертных. Используйте их с умом.

Оптимизации расхода заряда батареи в Android. Как я уже писал раньше, у меня возникли проблемы с быстрой разрядкой батареи Wildfire S. Попытки с калибровкой батареи ни к чему не привели.

Смена прошивок от официальной до откровенно кастомной тоже результата не дали.

Для тех, кто столкнулся с такой же бедой, предлагаю действовать дальше и найти источник неприятностей. Следующим шагом станет попытка выяснить: какая из программ может быть источником излишнего расхода аккумулятора. Такого рода программ немало, но советуют использовать SystemPanel , которой я и воспользуюсь.

Вот короткая инструкция по пользованию этой программой:

1. Переходим «Меню->Настройки», ставим галку «Включить Мониторинг», остальные галки по желанию (у меня включены все кроме отображения температуры в Фарингейтах). Включается мониторинг активности приложений, в системном баре появляется значок программы. Оставляем аппарат на некоторое время в покое, желательно на всю ночь.

2. По прошествии некоторого времени переходим «Меню->Мониторинг». Нажимаем внизу кнопку «История», видим построенные графики. Вверху можем задать интервал вывода информации (если мониторинг работал всю ночь, удобнее выставить «8 часов»).

Описание графиков:

  • «зарядка аккумулятора» — показывает разряд аккумулятора.
  • «использование устройства» — показывает использование устройства при включённом экране.
  • «активность CPU» — показывает загрузку процессора за всё время мониторинга (в т.ч. когда аппарат спит). Загрузка 0,5-1% системными процессами в режиме сна для большинства устройствявляется нормальной, всё что больше — лишняя активность причину которой будем искать дальше.

3. Ищем того кто не спал. Находясь в «Истории», нажимаем на кнопку в верхнем левом углу «график» и выбираем там «Топ-приложения». В итоге получили список приложений и процессов отсортированный по их активности при загрузке CPU.

Нажимаем по очереди на наиболее активные процессы и видим информацию о процессе, внизу видим историю потребления в виде графика. Нажимаем кнопку «сравнить» и снизу добавляются ещё общие графики. Таким образом можем сравнить график одного процесса с общим графиком всех процессов и узнать какое участие данные процесс принял в общей массе (напомню, нас при этом в основном интересует время когда экран был выключен). Данная функция особенно полезна, когда были редкие но сильные всплески активности, т.е. когда в «Топе-приложений» процесс может быть и не в начале списка.

Поочередно просматривая графики всех процессов в итоге находим виновников. Кроме того, п. «Системные процессы» разбивается на множество мелких процессов, если среди них есть очень активные можете погуглить его название, посмотреть за что он отвечает, узнать об его активности у других пользователей такого же как у вас устройства, т.е. сделать оценку нормально ли это конкретно для вашего аппарата.

Пример работы

Вот пример (по сну выше приведённого скриншота). Просматривая графики каждого процесса по отдельности стало заметно, что Taskiller проявлял лишнюю активность (на нижнем скриншоте график процесса «Taskiller» в самом верху).

Данная статья – продолжение цикла, цель которого – максимально увеличить время автономной работы Android-устройств при помощи программной настройки. На этот раз мы разберемся с режимами работы процессора, энергопотреблением экрана а также попытаемся побороть нежелательную «невидимую» активность.

Напомним, что с основной информацией и о беспроводных интерфейсах мы уже поговорили в .

Что ж, приступим. Начнем с изменения частоты и режима работы центрального процессора. Сразу оговоримся, что при неосторожности в ручной настройке частоты работы процессора Android-устройства возможны зависания, нестабильная работа, теоретически – полный выход устройства из строя. Так что любые действия следует совершать предельно осторожно и с понимаем того, что делается. Все современные устройства, и Android-девайсы в том числе автоматически управляют динамикой работы процессора в зависимости от возлагаемых на него нагрузок. Но не всегда изначально это происходит полностью правильно и оптимально, а потому расход заряда аккумуляторной батареи может быть не самым экономным. Таким образом, ручное изменение частоты работы центрального процессора может дать заметный прирост времени автономной работы, особенно это актуально для самых современных устройств, в которых частота центрального, часто четырёхъядерного процессора может достигать 1.5 ГГц и больше. Удобнее всего регулировать частоту работы процессора при помощи программы SetCPU. Для её работы потребуется Root-доступ, как, впрочем, и при любой тонкой настройке операционной системы и ядра. В данном приложении без труда можно настроить изменение частоты процессора по профилям – например, при выключении экрана или при снижении заряда аккумуляторной батареи ниже определенного уровня. Однако снижать частоту процессора для заметной прибавки во времени автономной работы следует хотя бы на 25%, а лучше – еще больше. Незначительные изменения, на 10-15%, могут и не дать заметного результата. Определить же, есть ли проблемы со штатным управлением частотой работы центрального процессора и оценить нагрузку на него на протяжении отрезка времени можно при помощи Android System Info, во вкладке System -> CPU.

Если заметную долю времени занимает работа процессора на высоких частотах, при этом ресурсоёмкие приложения и игры активно не используются, значит работать есть над чем. Стоит обратиться за графиками загрузки центрального процессора, которые могут быть составлены мониторинговыми программами, вроде SystemPanel или PowerTutor. Если процессор не загружается каким-либо процессом или приложением, которые могут повышать его частоту, значит, штатный режим динамического управления частотой центрального процессора работает неправильно. Это можно исправить установкой SetCPU и ручной установкой определенных режимов работы процессора. Подробнее с режимами работы ядра мы разобрались в . В целом же нужно понимать, что чем ниже средняя частота работы процессора, тем менее отзывчив пользовательский интерфейс Android-устройства и ниже быстродействие, так что подбирать комфортным режим нужно самостоятельно и индивидуально, предварительно протестировав несколько различных предустановок. Для примера лишь приведем, что с 1 ГГц процессором, который установлен в Samsung Galaxy S, удалось добиться следующих результатов: режим ondemand 100-800 МГц увеличил время автономной работы приблизительно на 15-20%, ondemand 100-400 МГц для просмотра фильмов, увеличил это самое время на 30-40%, причем в любом из перечисленных режимов зависаний не наблюдалось.

Теперь давайте поговорим об экране мобильного Android-устройства. Как известно, это один из основных потребителей энергии. Его потребление зависит от таких параметров, как физический размер, разрешающая способность в пикселях, тип матрицы, уровень яркости, а также время включенной подсветки после прекращения активной работы с устройством. На данный момент производители используют такие основные типы матрицы, как IPS, TFT-LCD, SCLCD и OLED (AMOLED или SuperAMOLED). Наиболее экономичными в плане потребления энергии при соблюдении определенных условий, о которых поговорим чуть ниже, являются экраны на основе органических светодиодов SuperAMOLED и их вариации (SuperAMOLED Plus, SuperAMOLED HD). Экономия достигается за счет того, что общая подсветка матрицы отсутствует, светятся сами точки на экране, и, таким образом, для отображения черного цвета необходимые участки экрана просто-напросто отключаются. Так что значительное влияние на энергопотребление оказывает отображаемая на дисплее картинка – чем больше черного цвета и темных оттенков, тем меньше расход заряда аккумуляторной батареи. Для лучшего понимая, что именно происходит, приведем несколько графиков, на которых сравнивается энергопотребление экранов на органических светодиодах и классических жидкокристаллических панелей:

Как видите, в случае, если в вашем устройстве экран на органических светодиодах, то рациональнее использовать тему с преобладанием чёрных и тёмных тонов и температурой цветов выше 6500К:

Желательно свести к минимуму использование белого фона и светлых тонов в программах, применять более тёмные оболочки.

Яркость дисплея также играет немаловажную роль, её уровень заметно связан с временем автономной работы Android-устройства. Средние показатели таковы, что при уровне яркости 10-30% энергопотребление практически не изменяется, при уровне 30-50% - энергопотребление увеличивается на 10-20%, 70-100% - заметно увеличивается энергопотребление, до 50%. Конечно же, это усредненные показатели, и для каждой отдельно взятой модели они могут отличаться. Наибольшую экономию, соответственно, дает значение до 30% яркости – без слишком заметного время удобству использования девайса. В большинстве современных устройств предусмотрена автоматическая регулировка яркости в зависимости от условий внешнего освещения. Естественно, это, с одной стороны, в некоторой степени экономит заряд аккумуляторной батареи в сравнении с постоянным максимальным уровнем яркости, но в то же время, потребление энергии выше, чем при фиксированном значении в 30% - просто потому, что иногда уровень яркости будет подниматься до 80-100%, например, на улице под прямым солнечным светом. Также немаловажную роль играет правильность и скорость срабатывания датчика, который воспринимает информацию об уровне внешнего освещения (иногда время реакции на изменение яркости слишком долгое), а также распорядок дня пользователя (более частое использование мобильного устройства на улице или в помещении и такое прочее). В целом, можно опытным путём определить, что выгоднее, походим несколько дней с автоматической регулировкой, и несколько – с фиксированным установленным уровнем яркости экрана.

Теперь давайте приступим к еще одному очень важному вопросу, решив который, можно заметно увеличить время автономной работы. Мы уже говорили о так называемой «невидимой» активности. Суть её в том, что некоторые приложения и процессы, работающие в фоне, могут «будить» устройство из режима сна, не давая перейти в режим энергосбережения. Это, например, приложения, постоянно «общающиеся» с сетью, вроде различных клиентов для социальных сетей, сервисы мгновенных сообщений, виджеты с прогнозами погоды, музыкальные плееры при прослушивании музыки, программы мониторинга с высокой частотой обновления показателей, приложения с ошибками в программном коде и так далее. Перед применением какого-либо способа устранения «невидимой» активности, советуем для начала просто перезагрузить устройство, особенно если эта активность достаточно значительная с показателем «Running» на уровне до 100%. Если это не помогло, прибегаем к сторонним приложениям.

Устанавливаем SystemPanel. Ставим галку возле «Включить Мониторинг» в Меню -> Настройки. Остальные галки можно поставить по желанию, описание пунктов интуитивно понятно. Таким образом, включается мониторинг активности приложений, а в системной области появляется значок программы. Теперь нужно оставить мобильное устройство в бездействии на некоторое время, лучше и удобнее всего – на ночь. После прошествия отрезка времени, заходим в Меню -> Мониторинг, и нажимаем кнопку «История». На экране будут построены графики. Сверху можно задать интервал вывода информации. Например, если производили мониторинг ночью, можно выставить 8 часов.

Разберемся с графиками.

Зарядка аккумулятора – отображает разряд аккумуляторной батареи.

Использование устройства – отображает использование мобильного девайса с включенным экраном.

Активность CPU – показывает загрузку процессора за всё время мониторинга, в том числе в режиме сна. При этом, загрузка до 1% системными процессами в режиме сна – это вполне нормально для большинства устройств, а вот больше 1% - лишняя активность, причину которой мы и будем искать. Находясь в «Истории», нажимаем кнопку «График» и выбираем «Топ-приложения». На экране будет отображен список всех приложений и процессов, отсортированный по степени загрузки центрального процессора.

На наиболее активные процессы можно нажать и увидеть информацию о них, внизу – историю потребления энергии в виде графика. Можно нажать кнопку «Сравнить» и увидеть ниже общие графики. То есть, можно сравнить график одного процесса с графиками всех процессов и узнать «вклад в общее дело» по разрядке аккумуляторной батареи. Не забываем, нас интересуют периоды, когда экран устройства был выключен. Данная функция полезна, когда были редкие, но сильные пики активности. При этом такой процесс может быть и не в начале списка «Топ-приложений». Пункт «Системные процессы» разбит на множество мелких, и, при желании, можно поискать названия наиболее активных, чтобы узнать, за что они отвечают, сравнить с активностью таких же процессов на аналогичных устройствах. Для примера, приведем график, показывающий, что Taskkiller проявляет излишнюю активность:

Однако, в целом, это слишком небольшая активность, так что она не приведет к серьёзному расходу энергии. А вот еще один график из данной программы, по которому ясно видно, что MyTracks слишком активно загружает центральный процессор устройства во сне:

Можно установить приложение PowerTutor, которое в реальном времени хорошо отображает энергопотребление программ и процессов в фоне, как суммарно, так и для каждого отдельно взятого приложения:

Также PowerTutor строит графики потребления для каждого приложения, накапливает статистику, что позволяет по всплеску активности на графике центрального процессора в режиме сна вычислить «того, кто не спит», то есть будящий процесс. Потреблению в мВт доверять слишком сильно не стоит, скорее надо оценивать относительные показатели.

Подойдет также и программа OSMonitor. Она может наблюдать за активностью приложений, в том числе в режиме сна устройства.

В данной программе в первую очередь нужно обращать внимание на UTime, который показывает, насколько программа или процесс активна, в том числе «во сне» устройства. Программы, которые имеют высокую частоту обновления, или которые «не засыпают», будут иметь повышенный показатель UTime, который, к тому же, будет быстро расти. Для определения повышен UTime или нет, отталкиваемся от общего UTime системы, то есть возможного максимума. Не следует забывать, что на показатель UTime для процесса «Контакты» или «Набор номера» влияет время разговора, «Клавиатура» - как часто на экране мелькает поле для ввода символов (в том числе, если на рабочем столе установлен виджет поиска).

Также можно воспользоваться «Журналом аккумулятора», в меню по очереди выбрав «Использование CPU», «Частичное пробуждении» - виновники «бессонницы» будут вверху списка.

Если такими методами, удалив или отключив ненужные приложения и процессы, которые «будят» устройство, не удалось до приемлемого уровня снизить значение «невидимой» активности, то проделываем следующие последовательные шаги. После выполнения каждого из них, естественно, проводим мониторинг «невидимой» составляющей активности устройства, и если она не уменьшилась, то переходим к следующему пункту.

Во-первых, удаляем все виджеты с рабочих столов, программы-значки с информационной строки, также удаляем (а еще лучше – «замораживаем» при помощи Titanium Backup) приложения, которые были установлены после периода, когда «невидимая» активность была нормальной.

Далее, производим сброс к заводским настройкам, то есть wipe. Не забываем сделать резервные копии при помощи всё того же Titanium Backup, форматируем SD-карту средствами операционной системы мобильного устройства. Если после полной очистки и сброса к заводским настройкам «невидимая» активность «угомонилась» - значит, проблема была в установленных приложениях. Логично, восстанавливаем их по одному, и постоянно следим за уровнем «невидимой» активности, пока не вычисляем конкретное приложение, вызывающие проблемы. Если же после сброса уровень «невидимой» активности остался прежним, то пробуем отключить приложения от производителя – они общим сбросом не удаляются. Отключить автозагрузку приложений можно при помощи Autostarts – тогда выбранные программы можно будет запускать только вручную. Можно прибегнуть к уже упомянутой «заморозке» при помощи Titanium Backup «до лучших времен».

Если проделанные действия не привели к желаемому результату, то следует обратить внимание на прошивку и ядро устройства, возможно придется перепрошиться на альтернативную версию (это может быть как самая новая, так и более старая официальная прошивка, или же вовсе кастомная сборка – но в таком случае помните о потере гарантии).

В том случае, если смена прошивки также ничего не дала, то, скорее всего, проблемы аппаратного плана. Полностью заряжаем аппарат, после чего выключаем его на всю ночь, не вынимая аккумуляторную батарею. Утром включаем и проверяем уровень заряда. Саморазряд за ночь не должен превышать 1-3%, и если разряд всё такой же сильный, как перед зарядкой, то проблема точно аппаратная – нужно обратиться в сервисный центр.

Отметим, что в целом, не стоит «ловить» показания индикатора вплоть до 1-2%, и тем более сравнивать их между разными смартфонами или планшетами, и даже между вчерашними и сегодняшними показателями. Величина эта весьма относительна, и может зависеть от большого количества факторов. Главное – создать приблизительное представление о потреблении энергии устройством. В целом же, проделав описанные в данном небольшом цикле статей операции, можно увеличить время автономной работы, в зависимости от устройства, от 30-40 до 150-200% (да, именно, на 200%, то есть в три раза). Желаем вам удачи и подольше пользоваться любимым Android`ом «без розетки»!



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows