Android system server грузит процессор

Обновлено: 10.08.2022

Lately I have noticed that "Android System" has been constantly using 90-100% of my CPU, causing lag and battery drain. At first, a reset fixed the problem, but now even that doesn't help, even with a battery pull. I have noticed Android System jumping up my "Battery Usage" list higher than in the past. I cannot for the life of me figure out why Android System is taking up so much of the CPU constantly.

I've tried turning WiFi, GPS, background data, auto-sync, etc. on/off, but to no avail.

Can anyone help me figure out what to do? Is anyone else experiencing the same problem? What could be going wrong?

I'm not rooted and I do not have a task killer. But I do have Watchdog (that's how I noticed the problem), which repeatedly gives me notifications that Android System is detected above the threshold level for the CPU monitor.

Super Moderator

guitarchris123

Member


Yeah, I know about running services, but that isn't helpful. It does not tell me why Android System is using so much CPU constantly. There isn't much running since I just rebooted.

XKXDISTURBEDXKX

Member

Hey Chris,
This could be do to the amount of applications you have syncing when you kept rebooting the device, otherwise I think you should try a battery pull + SD card pull and if that doesn't work a factory reset could do the trick, hope I helped

Sent from my ADR6400L using DroidForums

guitarchris123

Member

Hey Chris,
This could be do to the amount of applications you have syncing when you kept rebooting the device, otherwise I think you should try a battery pull + SD card pull and if that doesn't work a factory reset could do the trick, hope I helped

Sent from my ADR6400L using DroidForums


Yeah, I though it could be due to some applications at first too, but that wasn't the case (none of the apps in my list appeared to be using the amount of CPU and battery that Android System was). I had done a battery pull and sd card pull when I shut the phone down one of the times I did a reboot. I really wanted to avoid doing a factory reset because I've done a lot to my phone (apps, settings, customization, music, photos, etc.) and didn't want to have to wipe everything and go through setting all that up the way I like it again. I tried having background data and auto-sync both on and off to see if that was making a difference. I gave it plenty of time to calm down after reboot (several minutes, to the point where normally the CPU would calm down to 10-50% under normal use and conditions). I tried toggling WiFi, Bluetooth, and GPS on/off. After tweaking some things and doing another reboot (this time while plugged into a charger, although that probably didn't have anything to do with it), it finally appears to be back to normal (whew! I was freaked out there for a while). It started working right last night and I still have not noticed the problem recurring through all of today. In doing a couple hours of research online, I found that this is a problem several people have experienced with their smartphones (it could be a bug with 2.2, because various phone models have reported issues), and to which no one has a proper explanation or solution (from what I could find, just lots of - "well did you do this, do you have this setting selected, are you using this app, etc."). Oh well, it is back to normal now (at least for now), so I'll keep my fingers crossed that it does not come back again and will be fixed with an update in the future.

На днях поменял стандартный GApss на OpenGApps pico, предварительно отформатировав system, а думал уже, что ничего сделать нельзя. Обычный hard reset не помогал - часто всё «подвисало» и надолго, тот же system_server и mmcqd/0, гугл находил похожие проблемы с причинами в ext4 fs, но e2fsck не помогал, Nexus 7 (2012), tegra3, CM 12.1 nightbuild.

Странно, что на Nexus 4 похожего не наблюдалось, хотя всё то же самое установлено.

backbone ★★★★★ ( 20.11.15 15:00:56 )
Последнее исправление: backbone 20.11.15 15:03:35 (всего исправлений: 1)

meizu m2 mini , GApss нет
вообще ничего нет
он пустой
mmcqd/0 тоже нет
только system_server скачет

проверил на другом теле другого производителя с другим cpu и 4.4 дроидом - там все ок(

Интересно, может ли что-то оставаться конфликтующее с новой прошивкой при обновлении, ведь system не форматируется, во всяком случае так в CyanogenMod.

постоянно system_server висит?
нас сколько % грузит?


Дело в прошивке или софте.

И да, такого быть не должно.

Когда проблема была (до форматирования system) system_server висел одновременно с mmcqd/0, причём этот mmcqd шёл первым по списку. Случалось это ориентировочно после нескольких минут работы планшета и переключении м/у «тяжёлыми» процессами (ff, youtube, osmand и т.п.), пропадало после app kill-ов. В процентах не смотрел, но load average достигал 10-11-ти (в циане можно выводить с ps-list в правом верхнем углу).

Т.е. проблема была не в каком-то канкретном apk, а где-то уровнем ниже. Я вообще думал, что стали прошивку хуже оптимизировать, но, как оказалось, это предположение было ошибочным.

Дак вот после формата system это вообще другой девайс по ощущениям.

backbone ★★★★★ ( 21.11.15 06:14:54 )
Последнее исправление: backbone 21.11.15 06:18:44 (всего исправлений: 1)

Бесполезными в этой теме считаются объявления, где указаны некие % потребления без указания условий и среды использования. Нам нужны достаточно детализированные данные. Крайне желательно, что бы данные можно было сравнивать. Например, статистика сна смартфона с дневными настройками коммуникаций. Немного лирики.

Если вы желаете получить помощь, то:
1. Ознакомьтесь с информацией в шапке темы. Возможно, там есть ответ на ваш вопрос.
2. Проверьте аккумулятор на вздутость/неровность. Если есть возможность, проведите три теста.
3. Проверьте настройки синхронизации.
4. Если есть root, то очистите Dalvik-кэш из Titanium Backup (выполнение в стоковом recovery пункта wipe cache partition не чистит Dalvik-cache).
5. Блокируйте рекламные сайты и поставьте антивирус (см. пункт 6 рекомендаций). Если рута нет, то только антивирус.
6. Соберите статистику по инструкции.
7. Постройте свой вопрос так, что бы была понятна ваша цель и решаемые задачи.

Надеюсь, все понимают, что по заявлению пациента "На прошлой неделе я чувствовал себя хорошо, а на этой плохо. На этой неделе только куртку сменил. Что мне делать?" ставить диагноз бесполезно. Нужна диагностика.

Если вы желаете опубликовать свои достижения сна, то:
1. Соберите статистику по инструкции.
2. Добавьте важные на ваш взгляд данные.
3. Опишите шаги, которые вы выполнили для достижения результата. Избегайте сленга, пишите обстоятельно.

Если вы желаете опубликовать свои достижения повседневного использования, то:
1. Желательно сослаться на статистику сна.
2. Добавьте важные на ваш взгляд данные, среди которых должен быть скриншот потребления экрана и настройки яркости экрана.
3. Опишите шаги, которые вы выполнили для достижения результата. Избегайте сленга, пишите обстоятельно.

Прикрепленное изображение

Прикрепленное изображение

  • Как раскачать аккумулятор?
    С аккумулятором, установленном в аппарате процедуру "раскачки" проводить не нужно! Читаем тут: Литиевые аккумуляторы - правила эксплуатации
  • Игра с частотами процессора может привести как к перегреву при повышении, так и к выходу из строя модуля связи при понижении. Частота процессора регулируется автоматически. Если кто-то грузит процессор, то ищите причину, а не боритесь с последствиями.
  • Тема Советы по улучшению энергосбережения устройств на Android OS
  • Таск Киллеры на Андроиде
  • Не ставьте автоматические тасккиллеры, они сами убивают заряд + после того как они завершают процесс, он тут же запускается системой снова и не дает системе заснуть/садит батарею, не говоря уже о глюках в работе системы которые вы получите.
  • Не нужно часто менять прошивки,если вас не устраивает расход энергии. Ищите обжору.
  • Всякие программы для улучшения энергосбережения,которые включают или выключают экран,сети,яркость,являются бесполезными. Явное изменения вносят те программ,которые требуют Root прав.
  • О настройке "Wi-Fi в спящем режиме"
  • Постоянная активность wi-fi (даже в режиме полёта) в чем причина?
  • Долго заряжается смартфон? Прочтите!
  • При подключении к определённому Wi-Fi наблюдается повышенное энергопотребление, хотя при 3G-подключении такого нет. Что делать? Как минимум это.
  • Попытка создания списка приложений, которые предположительно можно отключить (заморозить) без потери общей функциональности. Очень осторожно используйте список, внимательно читая все комментарии по каждому приложению:
    1. Удаление системных приложений Android
    2. Труд niro_ig
  • Инструменты для выяснения содержимого Интернет-трафика смартфона и последующего поиска инициатора трафика на рутованных смартфонах

Прикрепленное изображение

Прикрепленное изображение

Крутые специалисты нашли подслушивающее устройство в аккумуляторе Galaxy S5! На ваших глазах, они вскроют защиту, объяснят что не нужно делать, что бы было "бдж!" и покажут как удалить "схема, что бы тэбя слушать" (бедная микросхема и антенна NFC). Смотреть видео со звуком!

My phone once again is almost impossible to use due to constant lag and slowness. After using one of many apps to identify what was consuming all my CPU I discovered it was the Android OS process and then I drilled down using top command (Elixir 2 app) to identify sub-process system_server. The system_server process was constantly utilizing >40% CPU and when this is coupled with user processes, my CPU was pegged in the 95-100% all the time. This made my phone just about impossible to use.

  • Toggled bluetooth on/off
  • Disabled improve location accuracy options for both BT and WiFi
  • Removed and re-added my 2 Google accounts
  • Disabled Google account sync of Gmail, and selective options.
  • Toggled from Global/GSM to LTE mobile network mode

My phone has been extremely slow and hanging as a result the past three days to a point where it was FRUSTRATING the hell out me, at one point I almost threw it. After searching high and low on the web, I couldn't deal with it any long----so I too the plunge and performed another factory reset---which fixed the problem. Since this was the second time in 4 months, I'd like help identifying what is causing this to avoid it in the future.

Thank you in advance everyone!

guruleenyc

Senior Member

Bump; 24 views and no replies yet. I cannot be the only one who experienced this issue. Can we start a dialog on possible causes and fixes other than a full factory reset?

Thank you in advance,

onehans

Member

mojoswagger1980

Senior Member

Model: Galaxy Note 4
Android: 6.01
Rooted: No

My phone once again is almost impossible to use due to constant lag and slowness. After using one of many apps to identify what was consuming all my CPU I discovered it was the Android OS process and then I drilled down using top command (Elixir 2 app) to identify sub-process system_server. The system_server process was constantly utilizing >40% CPU and when this is coupled with user processes, my CPU was pegged in the 95-100% all the time. This made my phone just about impossible to use.

I encountered this issue approx. 3mo ago and I tried everything to resolve, but ended up doing a factory reset to resolve it. after the same thing a few months ago. Doing a factory reset was the only resolution unfortunately at the time. Now that it the issue has returned, I have tried just about everything to fix it without doing a factory reset, here are some of the trouble-shooting:
Toggled bluetooth on/off
Disabled improve location accuracy options for both BT and WiFi
Removed and re-added my 2 Google accounts
Disabled Google account sync of Gmail, and selective options.
Toggled from Global/GSM to LTE mobile network mode


What did clear the system_server CPU usage issue was putting my phone in Airplane Mode. All this tells me it is radio related.

My phone has been extremely slow and hanging as a result the past three days to a point where it was FRUSTRATING the hell out me, at one point I almost threw it. After searching high and low on the web, I couldn't deal with it any long----so I too the plunge and performed another factory reset---which fixed the problem. Since this was the second time in 4 months, I'd like help identifying what is causing this to avoid it in the future.

Thank you in advance everyone!

I can see why you arrived at that conclusion but I'd caution a second look . I think its your wakelocks bud which is radio connected . until I disabled the lame google one my phone would get ridiculously hot and I mean physically hot as in to the touch turns out my problem was all the damn services the play store is attempting to use. It$ rediculous 1 app has twice almost 3 times as many service request as the rest of the phone . makes me wish play games was Foss compatible so bad I threw in on the bounty for it. But yeah try a wakelock sheriff specifically on play services and its stupid 22 (I think was what mine was) connected services and see if that helps

2. ForkSystemServer создает процесс

Из этого метода видно, что процесс создается в основном с помощью метода nativeForkSystemServer собственного уровня, который фактически использует frameworks/base/core/jni/com_android_internal_os_Zygote.cpp Под каталогом ForkAndSpecializeCommon метод:

Итак, этот метод в основном:

  • Серия инициализации
  • вилка дочернего процесса
  • Дочерний процесс продолжает выполнять метод callPostForkChildHooks для выполнения некоторых операций.

4.1 startBootstrapServices

  1. Благодаря созданному объекту SystemServiceManager, единое управление каждой службой
  2. Первый запуск - это установщик, который создает ключевую директорию /data/user , Каталог может обеспечить плавный запуск других служб
  3. Затем будет запущен AMS.Из кода видно, что AMS тесно связана с несколькими другими сервисами, такими как PMS и Installer.
  4. setSystemProcess добавляет сервисы, связанные с процессами

1. Параметры инициализации

Массив атрибутов arg будет использоваться в качестве параметра запуска процесса syster_server. С помощью параметров вы можете узнать, что идентификатор пользователя и идентификатор группы пользователей процесса syster_server равны 1000 и имеют разрешения некоторых групп, таких как группы пользователей 1001, 1002. Имя процесса - system_server, который запущен. имя класса Java com.android.server.SystemServer , А затем инкапсулируйте эти строки в объект ZygoteConnection.Arguments.

3. handleSystemServerProcess

По названию можно понять, что этот метод используется для завершения работы, оставленной процессом system_server.
Сначала закройте сокет из разветвления процесса app_process, потому что system_server не требует, чтобы другие процессы запрашивали его через сокеты, а связыватель, используемый system_server, реализует межпроцессные запросы
Затем создайте ClassLoader
Наконец, выполните zygoteInit

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

Затем посмотрите на реализацию метода run класса MethodAndArgsCaller:

Начиная с startSystemServer, после ряда операций я наконец добрался до основного метода класса systemServer.Причина этого не в том, чтобы выполнить основной метод systemServer с самого начала:

  1. Создайте отдельный процесс. Выполнение startSystemServer находится в процессе зиготы, а окончательное выполнение основного метода класса systemServer уже находится в процессе system_server
  2. Инициализировать собственную информацию процесса system_server, такую ​​как установка информации о собственном стеке процесса system_server, проверка связанных разрешений, изменение имени процесса и т. Д.
  3. Удалите унаследованное от zygote, но сам процесс system_server не нужен. Например, закрытие сокета, унаследованного от zygote, и очистка ранее установленного кадра стека путем выдачи исключения
  4. Включите уникальные операции процесса system_server, такие как nativeZygoteInit, чтобы включить пул потоков связывания для самого system_server, что удобно для предоставления услуг другим процессам.

Чтение исходного кода Android --- процесс system_server

4.2 startCoreServices

Приоритет основной службы ниже, чем у службы начальной загрузки, и ниже нее не так много служб, в основном это службы управления питанием батареи, службы управления использованием приложений и т. Д.

4.3 startOtherServices

По сравнению с двумя другими сервисами, этот другой сервис имеет самый низкий приоритет и включает в себя большинство сервисов, слишком ленив, чтобы немного писать.

4. Основной метод systemServer

Каталог статей


system_server - это процесс, созданный процессом app_process. В то же время он также будет служить носителем службы уровня фреймворка Android. Его стартовая запись находится в файле com.android.internal.os.ZygoteInit. , подробности следующим образом:

Затем посмотрите на конкретную реализацию метода startSystemServer:

В основном это делается таким способом:

  • Инициализировать параметры, необходимые для запуска systemServer
  • разделить отдельный процесс
  • handleSystemServerProcess запускает созданный процесс

Читайте также: