Android kills my service in the package com.net.myspeechservice under some certain scenarios, for example when there is a call on the phone it kills the service. The logcat show me these statistics.
As it seems quite obvious that it got killed because of CPU load.
What I don’t get is which percentage of CPU consumption was caused by my app ??? it’s not being shown at all.
I don’t get following means ?
Load: 3.13 / 2.78 / 2.26
How can I asses from these stats as to what percentage was caused by my app.
please advise.
thanks,
06-21 06:44:35.042: E/ActivityManager(88): ANR in com.net.myspeechservice
06-21 06:44:35.042: E/ActivityManager(88): Reason: Executing service com.net.myspeechservice/.services.ManagementService
06-21 06:44:35.042: E/ActivityManager(88): Load: 3.13 / 2.78 / 2.26
06-21 06:44:35.042: E/ActivityManager(88): CPU usage from 10340ms to 0ms ago:
06-21 06:44:35.042: E/ActivityManager(88): 44% 178/com.android.phone: 43% user + 1.8% kernel / faults: 179 minor
06-21 06:44:35.042: E/ActivityManager(88): 25% 36/surfaceflinger: 21% user + 3.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 10% 38/mediaserver: 8.1% user + 2.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 5.1% 1496/android.process.acore: 2.8% user + 2.3% kernel / faults: 3984 minor
06-21 06:44:35.042: E/ActivityManager(88): 3.3% 150/com.android.systemui: 3.3% user + 0% kernel / faults: 6 minor
06-21 06:44:35.042: E/ActivityManager(88): 1.9% 45/adbd: 0.2% user + 1.6% kernel / faults: 420 minor
06-21 06:44:35.042: E/ActivityManager(88): 0.6% 88/system_server: 0.3% user + 0.2% kernel / faults: 1 minor
06-21 06:44:35.042: E/ActivityManager(88): 0% 6391/ekawas.blogspot.com: 0% user + 0% kernel / faults: 40 minor
06-21 06:44:35.042: E/ActivityManager(88): 0.1% 35/rild: 0% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88): 100% TOTAL: 82% user + 17% kernel + 0.1% softirq
06-21 06:44:35.042: E/ActivityManager(88): CPU usage from 1521ms to 2139ms later:
06-21 06:44:35.042: E/ActivityManager(88): 41% 178/com.android.phone: 40% user + 1.6% kernel / faults: 1 minor
06-21 06:44:35.042: E/ActivityManager(88): 50% 178/m.android.phone: 48% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 235/RILReceiver: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88): 29% 36/surfaceflinger: 22% user + 6.4% kernel
06-21 06:44:35.042: E/ActivityManager(88): 22% 61/SurfaceFlinger: 19% user + 3.2% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 36/surfaceflinger: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 63/Binder Thread #: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 109/Binder Thread #: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 1283/Binder Thread #: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 16% 38/mediaserver: 11% user + 4.9% kernel
06-21 06:44:35.042: E/ActivityManager(88): 6.5% 1551/gle.mp3.decoder: 4.9% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 3.2% 1553/AudioTrackThrea: 1.6% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 72/AudioOut_1: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 1552/OMXCallbackDisp: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88): 9.6% 88/system_server: 4.8% user + 4.8% kernel
06-21 06:44:35.042: E/ActivityManager(88): 8% 103/ActivityManager: 4.8% user + 3.2% kernel
06-21 06:44:35.042: E/ActivityManager(88): 1.6% 1496/android.process.acore: 0% user + 1.6% kernel / faults: 196 minor
06-21 06:44:35.042: E/ActivityManager(88): 3.3% 1542/ApplicationsPro: 0% user + 3.3% kernel
06-21 06:44:35.042: E/ActivityManager(88): 100% TOTAL: 82% user + 17% kernel
The load line is showing you the amount of CPU cores required to operate all threads in real time. I.e. a load of 1 means that you are fully utilising a single core over that period. A Load of 5 means you would need five cores to operate in real time, or if you have two cores you are overloading them by 150%.
Load is shown as three numbers to give the load over different timeframes. It is typically given as 1 minute, 5 minutes and fifteen minutes.
Without knowing the package name of your app though I can’t begin to look at the rest of the log. Although at a guess it is
ekawas.blogspot.com(which is missing from the second snapshot) which would indicate that CPU load from your app isn’t an issue. It might however be a memory issue.