6

I have a really strange issue with my iPhone. I had an iPhone 6 and suddenly I would notice the rear case was very warm and the battery was being discharged at an excessive rate. I have an app called System Status Pro which shows CPU usage. When the issue occurred, the CPU usage was fluctuating around 20-30%. I left it thinking iOS was busy doing stuff, but the battery continued to discharge quickly (i.e. 100% to empty in an hour or so). I force restarted the phone and everything returned to normal. CPU usage averaging 3-5% with no apps running.

This issue continued to return randomly. I could last a week with no issue, then it would happen 3 times in one day.

My investigations so far:

  1. The issue is not related to my phone’s hardware. I upgraded to an iPhone 8 (restoring my phone’s from a backup) and the issue continued
  2. The battery app in Settings, which shows each app’s CPU usage does not show a particular app causing the usage
  3. Background app refresh is turned off
  4. No obvious Apple services (i.e. iCloud backup) are running at the time of high CPU usage
  5. When the issue occurs CPU usage is always 20-30%. Never more, never less
  6. It is not iOS version specific
  7. The phone is not hacked/jailbroken
  8. The phone does not have Enterprise certificates installed (which would allow non-App Store approved apps)
  9. High CPU usage continues with no apps running (double clicking home button shows no apps running)
  10. The only resolution is to restart the phone and usually a single restart fixes it, although occasionally it returns and another restart is needed, sometimes even a third restart. But restarting always fixes it eventually
  11. I have 15GB free of the phone’s 64GB storage
  12. I realise I could wipe the phone. This is my last resort and I want to avoid this

Has anyone experienced something similar?

Does anyone know how I can view CPU usage at a more granular level, ideally identifying each individual processes CPU usage?

Many thanks in advance for any advice!

3
  • Was mobile data on in a low network coverage area? Does low power mode help in increasing the 100 to 0 in an hour battery health?
    – anki
    Aug 21, 2019 at 14:45
  • Network coverage does not affect it. The issue occurs even with full network coverage (4 bars). Not sure about low power mode. Will investigate when the issue happens again. Thx! Aug 21, 2019 at 14:54
  • 2
    Update: low power mode drops cpu usage down to a consistent 17.5-20% with no apps running. So low power mode does reduce some CPU’s age, but whatever it is causing the primary CPU usage, it is still present. Aug 23, 2019 at 15:01

2 Answers 2

4

I finally found the issue!

It was an iPhone game called Minesweeper which runs as a widget in the Notification Center/Today View. I guess to be in the Notification Center/Today View as a widget, it has to be running, yet it was not listed as a running app when I double tapped the home button.

I have no idea why Minseweeper was causing the high CPU or why it occurred randomly, but as soon as I deleted Minesweeper, the problem went away.

The only reason I discovered the cause of the problem was because I was in the Battery app in Settings and I happened to tap a section of the Battery Level graph and it showed app activity for that specific moment in time. Minesweeper was there at 30% usage and I hadn't run that game for months.

I hope this solution helps someone somewhere!

0

Photo Analysis / Classification

Another common issue with this, if you have photos stored on your device, is the photoanalysisd that scans your photos and processes them for searches. This provides the ability to search by, for example:

  • faces (face detection requires scanning every photo)
  • objects (e.g. ‘dog’, ‘car’, ‘person’, ‘tree’)

Presumably Apple updates / enhances these analysis routines from time to time; this may be one of the reasons a device is extra busy in the hours and days following installation of iOS updates.

Since photoanalysisd operates on the device itself, it may operate regardless of whether someone uses ‘iCloud Photos’.


Content Indexing

‘Spotlight’/‘Siri’ indexing / reindexing can have similar effects. It is often noticeable for users who use the built-in iOS ‘Mail’ app and have many thousands of messages in their inboxes.

This can be disabled on a per-app basis in the ‘Siri’ section of the iOS settings app.

These indexes are also liable to be restructured (or rebuilt entirely) following iOS updates. (The iMessage database is also restructured often to support new features, but even with a very large message archive, this likely would only take a minute or two.)


Well-meaning apps that hog resources

iOS Safari, for example, appears to try to keep as many tabs in memory / ‘running’ as it can get away with. In practice, this can often result in Safari (or another app) to be forced closed while in the background, interfering with multi-tasking (and causing even more cpu usage when those apps have to be cold-started… instead of just waking them from an idle/sleeping state).

[To be fair, this probably made much more sense back in 2012 or so, when most web pages didn’t use much if any javascript after the initial rendering of the page, and when browser security restrictions didn’t prevent sharing cached content between similar tabs. The web landscape in 2022 is very different indeed.]


Analytics reporting files

Finally, while not very user-friendly to read, the analytics reports available under the ‘Privacy->Analytics & Improvements->Analytics Data’ section of the iOS ‘Settings’ app can sometimes provide insight. Specifically, those of types:

  • spindump - an app’s UI has frozen for more than a certain number of seconds and was automatically ‘killed’/quit by iOS itself
  • cpu_resource for specific apps, e.g. analytics.cpu_resource, MobileSafari.cpu_resource, or photoanalysisd.cpu_resource - a specific app has exceeded preset CPU usages (i.e. more than 50% cpu over 180 seconds)
  • JetsamEvent reports occur when an app has been closed by iOS to free up RAM… if that app is set to run in the background, it starting up again could cause an increase in CPU usage
  • runningboardd - unknown, but looks like it may have data that could be useful with further analysis
  • AppName.wakeups_resource - appears to be logged when an app exceeds ‘a limit of 150 wakeups per seconds over 300 seconds’
  • xp_amp_app_usage_dnu appears to contain data about which apps you haven’t recently used, which could be helpful to focus your search on the correct apps for your specific device

Any of these individual files can be copied off the device using the ‘Share’ icon, or downloaded en masse via certain Apple tools (such as ‘Apple Configurator 2’, as I recall).


Perhaps by the time iOS/iPadOS 19 arrives, Apple will finally provide a proper native macOS-style ‘Activity Monitor’ app!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .