My phone has lately been really slow. When I turn on the screen, particularly if it has been off for a while, the phone is really sluggish. For example, it might take 30 seconds to respond to my input. Or if someone calls, it might not respond to my answer gesture until after the caller has already given up and hung up.
If I leave the screen on for several minutes (up to five), the phone will eventually start to respond more normally.
The CPU information in the developer options shows that the processor is pegged during all this slowness, and the process system_server
is consuming almost all of that CPU capacity with other processes fighting for a little CPU time.
Also, this CPU activity is killing my battery. I'm only getting half the battery life I should be getting.
I recently lost root in an OTA upgrade; in re-rooting I had to do a wipe of the phone. Once I restored everything, the problem came back.
My phone is a Galaxy Nexus running Jelly Bean (4.1.2). I also experienced a similar issue with my previous phone, a Nexus One running MIUI and "ICS". I attributed that phone's slowness to its age, but now I think there must be something else going on.
What could be wrong, or how could I go about tracking down the problem?
Answers to questions posed
- My current phone is running 4.1.2. The problem became much worse after the update. My previous phone was the one I said was running "ICS". I put that in quotes because it was a custom ROM that claimed to be 4.0 but which I suspect was actually Gingerbread+.
- My RAM typically runs at about 85%. But, I doubt this is too useful since Android automatically kills apps when it needs more RAM and the Linux kernel is designed to keep RAM mostly full so as not to waste it.
- Currently, Google Maps is using the most battery, followed by Tasker. I'm quite sure that this isn't typical, however. I can't imagine why Google Maps would be so high, as I don't use it often. Anyway, I turned off the location permissions, so hopefully that'll cure Google Maps. And Tasker doesn't usually consume so much, but when the CPU is pegged it seems to have a harder time operating than most apps. (By the way, I have no location-based profiles in Tasker.)
- Upon rebooting my phone, it's OK until the screen goes off for a period of time. Then, the problems resume. They're so severe that it's often faster to reboot than to try to use the phone without rebooting.
- Auto-rotate seems to have no effect. I regularly toggle it in the normal course of using my phone, and haven't noticed any difference either way.
- Apps would appear to be the culprit since I've experienced the same issue on two different phones and since doing a factory reset. However:
- The process that's consuming the CPU isn't an app but
system_server
, which is a core part of Android. - I have a lot of apps, so disabling them one by one would be a time-consuming process.
- The process that's consuming the CPU isn't an app but
- I tried re-nicing
system_server
, but I didn't se any effect.