Related
1. Abstract
2. Approach
3. Baseline configuration and results
4. References
5. Disclaimer
1. Abstract
Initially I was quite dissapointed with the battery life of the Samsung Galaxy S II i9100 with Android 2.3.4 out of the box. Coming from the Symbian world Nokia E71 I have been used to 6-7 days without recharging, while on SGS2 I got barely 1.5 days of normal usage. I started to optimize, and felt that the hardware is very capable for power saving, but the software is not optimized. After turning off all synchronization, going thru every program settings to switch to manual sync, switching to 2G network (EDGE in my area), turning off WiFi/Data/GPS/Background data I've got a busy day full of meetings at work (didn't touch the phone apart from 2 incoming calls and a few notes) and only 10% decrease of battery for 24h (100%->90%) which is amazing by itself. But I wanted to optimize more.
I have heard that other things like Custom ROM, freezing of system applications, task killers, Under Volting (UV), Under Clocking (UV) would help me too, but I was about to discover which one really helps in real use.
One lazy Sunday like today while being a bit sick allowed me to conclude an experiment of how far did I get in optimizing the power usage for a "baseline configuration" - WiFi/Data/GPS/Background data off, 2G network, all possible sync to manual - and the results are astonishing.
2. Approach
The approach to optimize the battery life is only one - PUT IT TO SLEEP AND DON'T LET IT AWAKE.
Having read a ton of articles on xda-developers.com and other places I have concluded that the strategy for optimizing includes these major steps:
2.1. Get a clean baseline Custom ROM where much of the "bloatware" is removed, so you have less to optimize - optional step but it helps to do it
This probably helps although not necessary. I'm not sure if the stock ROM will allow you to put custom kernels which will be needed in the next steps to optimize further.
But in any case you need to be at least "rooted" to apply some of the advice - either via a rooted kernel like CF-Root [8], or via an exploit like the DooMLoRD'a zergRush exploit [7].
2.2. Optimize the screen-on time
This is up to how frequently you use the phone
What you can optimize is to set a default "conservative" CPU Governor profile from 200MHZ to 1200MHz for regular usage - nothing really special, it's only slower on jumping to high frequencies.
If you have a kernel like RedPill Kernel [9] you can add an additional In-Call profile with "conservative" CPU Governor from 100MHZ to 800MHz - while you talk and phone to the ear it idles at 100MHz, but if you start a let's say Notes taking application, or go to turn on Bluetooth it will be snappy enough. Same holds true for listening to music or listening to books - but it's up to your imagination how to set a 100MHz profile in this case (maybe via Tasker). Have in mind that the 100MHz setting may be unstable on some phones because it's not standard, but mine is absolutely fine with that setting.
For setting the CPU profiles software like Voltage Control [5] (paid version for many profiles) is used.
CPU Governor "conservative" is crucial so you don't instantly jump to the highest frequency as it happens with the default "ondemand" governor (or its clones).
You can choose an I/O Scheduler appropriate for your CPU Governor based on the MagicConfig article in my references [14].
People also say that the following helps and I use it: turn off button LED lights, darker wallpapers, auto-rotation disabled, auto brightness on (I have to see the screen after all).
If you use kernel like RedPill Kernel [9] the button LED lights are undervolted by default, so you can leave them "on for 1.5s" for example.
If you have a Custom ROM like CheckROM Revolution HD V6 [10] with JKay Deluxe Settings you can set a Dark or Darker auto brightness profile - also usable to some extent.
One article in my references [12] also gives the power drain in milliwatts (mW) for each hardware device - go read it and you will understand how much the Amoled Display (Average - 370mW), LED lamp next to camera (1.3W), Camera (700mW), Bluetooth and GPS (110 to 180mW) etc. hardware actually consumes.
2.3. Optimize the screen-off time
2.3.1. Analyze Wakelocks
Wakelocks indicate when some application prevents the phone from going to sleep for some time. It does not necessarily mean that it does something significant at that time, and may be only a bad application design. Some applications really like to hold wakelocks periodically during the day for no reason, even if set to Manual sync etc. Examples of such applications are Facebook, 3G Watchdog... You milleage may vary but you can be sure that this hurts your battery life a lot. Any such application can be frozen with Titanium Backup or uninstalled if it's not a system application. Both count and total duration of the wakelocks are important.
BetterBatteryStats [1] has a screen to debug Partial Wakelocks and Kernel Wakelocks. You can also obtain the raw information via the console command "cat /proc/wakelocks".
2.3.2. Analyze Alarms
Alarms are a way to start jobs in the system at a predefined time. Many applications set alarms to get awaken and check/poll something before sleeping again. You should note that firing an Alarm is not necessarily connected to having a Wakelock - you can see many alarms firing but very few wakelocks. The problem is that too many applications set too many alarms for no reason. These activities also hurt your battery life a lot. Examples of such applications are Google Maps (at least for me)... As long as I have another GPS application with offline maps, I've simply frozen Maps with Titanium Backup. Another example was let's say Social Hub, but as long it was firing once per 24h, I didn't bother to touch it.
BetterBatteryStats [1] has a screen to debug Alarms which requires Root access. You can also obtain the raw information via the console command "dumpsys alarm".
2.3.3. Analyze Network Connections
If you get lost in the Wakelocks and Alarms, you can help yourself by checking what connections are kept alive while Internet is connected. OS Monitor [3] has a Connections screen which is equivalent to "netstat". This is also a good indicator what may be drawing unnecessary battery and respectively freeze/uninstall. In my case I can point that I've discovered that K-9 Mail had a bug with IMAP accounts - if I connect to an IMAP account set to manual/poll sync once, it keeps a connection open forever, until you restart or kill the process, but for POP3 account there is no problem... Being aware of such things really help with the battery life.
2.4. Optimize deep idle and sleep time
This is the most important goal in this article - how to get into deep idle/sleep and stay there, because this is the only real way to save energy on such a powerful device
CPU Spy [2] can show you how much time you spend in deep idle/sleep - with my baseline testing I've managed to get 99% deep idle/sleep which is amazing - only if the manufacturers gave us the phones in this state and we can build on that...! But it's the other way round.
Unfortunately the sleep mode on the stock kernel and the CF-Root kernel is not too deep. Entropy512 in my references [15] describes the following modes of idle/sleep:
IDLE - clock is gated but power remains (does not eliminate any static power consumption)
AFTR - clock is gated, CPU core power removed, cache power remains - this eliminates a great deal of static power consumption - cannot be entered if second core is active
LPA - AFTR + removal of cache power - cannot be entered if second core is active
IDLE is entered if the CPU is expected to be free for 4 msec (40 msec stock)
AFTR is entered if the CPU is expected to be free for 10 msec (disabled stock)
LPA is entered if the CPU is expected to be free for 40 msec (40 msec stock)
This compares to suspend, aka deep sleep, which takes around 150 msec to enter and 650 msec to resume, and the CPU must be at 800 MHz (or at least have enough voltage to support 800 MHz operation) during this time. Entering suspend/resume is very costly in terms of power due to heavy interrupt load.
Unfortunately my knowledge ends here, but flashing a kernel like RedPill [9] with Power Saving features and patches enabled improved the deepness of the idle/sleep very significantly, let's say 2 fold compared to the stock kernel. Sleep is entered faster and with more savings.
2.5. Optimize the modem/baseband
If all the points above are done, you can consider some savings from trying to flash newer modem/baseband compatible with your Custom ROM for better power savings during Calls and Data transmission. I did not get deep into this yet, but it's rather a big Voodoo, because the contents of the various modems are not public and you can only read feedback like "works very good for me" and "totally awful", which is not very scientific. Initially you can try staying with your original modem or the one provided by the Custom ROM, and optimize the previous points.
2.6. Optimize other stuff
2.6.1. Under Volting - will probably help, but for every frequency you need to choose voltages that are not too low to keep the phone stable. You can try the UV profile from the MagicConfig article from my references [14].
2.6.2. Under Clocking - I consider trying to use 100MHz useful for some scenarios, but only as an additional profile. After all the phone is very powerful and snappy to cripple it with 100MHz-1000MHz profile as default.
2.6.3. Automatic Task Killers - absolutely worthless peaces of software [16]. Android OS is good at power saving. It is very power saving conscious actually, of course combined with capable to sleep hardware. The only reason to kill a process is if it locked on holding some resource/connection forever, and OS Monitor [3] can kill it.
2.6.4. Battery charging - charge the battery as frequently as you want, but be sure to not keep it constantly on high charge (90-100%) [18], as long as this is not a good state for storage. Making bigger cycles helps to maintain better battery life. Some sources say cycling from 0% to 100% is not optimal [17], but from my experience through the years this way also works good for battery longevity, and maintaining small loss of capacity. I can give an example of losing up to 10% of battery capacity per year compared to design capacity with this method. You can view such statistics in Power Management tools in Lenovo ThinkPads etc.
Note that the battery indicator has some tweaks around 100% so consider the following:
- When charging for me it hops from 98% straight to 100%. If you disconnect now, it drops to 98% again, and this is what other people complain from too. Just wait some more time and it will charge to real 100% to have more battery life.
- The indicator stays at 100% longer than at any other value. So when testing, always test from the same baseline, e.g. always charge to 100% before comparing results.
3. Baseline configuration and results
CheckROM Revolution HD V6 PDA XWLA4 (Android 2.3.6) + modem XXKI4 (was XWKL1 but changed for no reason) + kernel RedPill 1.3.
WiFi/Data/GPS/Background data/Auto-rotation/Button LED lights - OFF
Any type of Sync or Polling - OFF/MANUAL, using local Contacts and local Calendar
Widgets - AccuWeather.com on MANUAL and Today view from Calendar.
Network: 2G (EDGE in my area)
Background and lock screen: Dark wallpapers
CPU default profile: conservative 200MHz-1200MHz
CPU in-call profile: conservative 100MHz-800Mhz
Because I don't want to wait a full day for the statistics, I'll post now for 8 and 12 hours, and tomorrow add for 24 hours.
(See the attached images, because I'm not sure how to embed them in the text)
4. References
[1] BetterBatteryStats XDA Edition - http://forum.xda-developers.com/showthread.php?t=1179809
[2] CPU Spy - https://market.android.com/details?id=com.bvalosek.cpuspy
[3] OS Monitor - https://market.android.com/details?id=com.eolwral.osmonitor
[4] Titanium Backup (paid version) - http://matrixrewriter.com/android/
[5] Voltage Control - https://market.android.com/details?id=com.darekxan.voltagecontrol
[6] Android Terminal Emulator by Jack Palevich - https://market.android.com/details?id=jackpal.androidterm
[7] DooMLoRD's Easy Rooting Toolkit [v4.0](zergRush Exploit) - http://forum.xda-developers.com/showthread.php?t=1321582
[8] CF-Root Kernel - http://forum.xda-developers.com/showthread.php?t=788108
[9] RedPillKernel_Rev1.3 - http://forum.xda-developers.com/showthread.php?t=1288850
[10] CheckROM Revolution HD V6 - http://forum.xda-developers.com/showthread.php?t=1312240, http://checkrom.com/
[11] Premium Dark Wallpapers - http://forum.xda-developers.com/showthread.php?t=1474798
[12] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks - http://forum.xda-developers.com/showthread.php?t=1369817
[13] Getting the Most out of the Battery on your Android device - http://softbanksucks.blogspot.com/2011/10/getting-most-out-of-your-battery-on.html
[14] MagicConfig for UV and CPU Governor + I/O Scheduler combinations - http://forum.xda-developers.com/showthread.php?t=1466017
[15] Entropy512 explained CPU idle states - http://forum.xda-developers.com/showpost.php?p=23252902&postcount=17
[16] Android Task Killers Explained - http://lifehacker.com/5650894/andro...ed-what-they-do-and-why-you-shouldnt-use-them
[17] Li-Ion Battery Charge Cycles, Voltages and Storage analysis - http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries
[18] IBM/Lenovo recommendations on Li-Ion battery treatment - http://forum.xda-developers.com/showpost.php?p=23258191&postcount=19
5. Disclaimer
Paid apps are mentioned here for clarity. You can of course find an alternative if such exists. Free (no ads) versions of software were listed where possible.
Needless to say that all advice here must be applied only under your own responsibility.
Results at 25h usage: The battery indicator has dropped down to 94%.
However it's a bit hard to predict how much is it going to last this way as long as after initially staying at the value "100%" the indicator decreases a bit faster.
See attached screenshots.
Thanks for the detailed post but i still don't understand why people insist on having a smart phone and then turning off any good feature in it to get 2 days of work out of it.
Agent_Adodas said:
Thanks for the detailed post but i still don't understand why people insist on having a smart phone and then turning off any good feature in it to get 2 days of work out of it.
Click to expand...
Click to collapse
That depends if you dont want xxxx app running every day why run it and why let it connect on a daily basis . Its a Smartphone not a dumbphone that controls the user .Nothing in the Smartphone design says hey guy you are really uncool if you don't have everything turned on .
I turn on what i want when i want but then again i am not sad enough to live my life on facebook .
jje
there's nothing wrong with killing background tasks that eats your battery, but to me it looks funny to turn off WIFI, 3G, Sync or polling.
anyway, that's what i think, other people may think different and will prefer to save on battery life.
Agent_Adodas said:
there's nothing wrong with killing background tasks that eats your battery
Click to expand...
Click to collapse
:facepalm:
http://lifehacker.com/5650894/andro...ed-what-they-do-and-why-you-shouldnt-use-them
Unless you love using terribly coded apps.
This is a Baseline - my initial starting position. Yeah I don't feel cool for running tons of unneeded stuff Actually after 15 hours of uptime I feel pretty bad and a slave of the charger.
I hope to tell more people in a single post what can be optimized, stripping off any superstition, voodoo and some pointless beliefs circulating in the web
I don't say "do like me", but instead what a great hardware SGS2 + core Android software actually seems to be
Please also note I didn't limit myself to 1000MHz, do not recommend reducing voltages etc... the struggle is to put the software in control, not to cripple the experience.
Additionally, I have WiFi at work, at home, at the gym, and between them I'm driving... for that reason I don't need unlimited data. And for new mails I actually get SMS and know when to fetch the mail. If it's important I can turn on the data as well. On business trips abroad there is no unlimited data anyway too - only WiFi at the office and at the hotel. So there are different scenarios...
Serious Observations Bro!
Must say, very clear,simple and awesome way to put together things...will try this out and post again!
Thanks a ton bro! Love the efforts and for helping us out!
Great tips mate... I knew many of them before but i will not use them so much.. I have a feeling that it criples my phone... Limiting my usage of the phone... Instead i have a custom rom,custom kernel ,an extra standard battery,car charger...
I even tryed once to apply most of your tips but they gave me a couple of hours extra batt life. My problem is network signal coverage-edge is fine(but who can surf on egde ?!? ) ,3g and hspda signal is not so good (i travel a lot by car all over my country) and the phone keeps trying to get better network signal and uses more battery...
So most of your tips work if u want to criple your phone and if ur network has great coverage...
Sent from my GT-I9100 using XDA
Using a slow scaling cpu governor defeats the purpose of battery savings. You want something that will scale up fast and scale down just as fast. That way the task gets completed quicker and the cpu can go back to an idle state faster.
Slower governors take longer to complete a task and that uses more battery.
I rather OnDemand complete something in 2 seconds jumping immediately to 1.2Ghz than Conservative in 4 seconds scaling it's way up each step and then scaling back down slowly.
Sent from my GT-I9100 using Tapatalk
Elisha said:
Using a slow scaling cpu governor defeats the purpose of battery savings. You want something that will scale up fast and scale down just as fast. That way the task gets completed quicker and the cpu can go back to an idle state faster.
Slower governors take longer to complete a task and that uses more battery.
I rather OnDemand complete something in 2 seconds jumping immediately to 1.2Ghz than Conservative in 4 seconds scaling it's way up each step and then scaling back down slowly.
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
Not true if I'm typing notes. Ondemand will struggle to take me on high frequency, while I'm browsing the texts... Do you need high frequency when reading forums?
Actually I have no problem to play Asphalt 6 and Angry Birds on 1200MHz with this setup
It takes you more cpu cycles to get Asphalt or Angry Birds fully loaded with Conservative than it would with OnDemand.
And you have to remember we have dual-core cpus. It's to your benefit to get both cores scaled up faster to finish the task.
You don't notice this as much because the difference is probably in the milliseconds. But Conservative is more of a power hog than OnDemand.
Sent from my GT-I9100 using Tapatalk
Wow, thats massive and informative! Too good job Sir! Hats Off!
Elisha said:
It takes you more cpu cycles to get Asphalt or Angry Birds fully loaded with Conservative than it would with OnDemand.
And you have to remember we have dual-core cpus. It's to your benefit to get both cores scaled up faster to finish the task.
You don't notice this as much because the difference is probably in the milliseconds. But Conservative is more of a power hog than OnDemand.
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
Agree. All that advice is mostly targeted to battery conscious people, this is not a gaming setup There is no one best configuration for all.
It's also not about what exact values to choose, but what approach to take for battery life improvement.
Can't wait to run a UV kernel once the sources drop. That there helps quite a bit to conserve battery.
Sent from my GT-I9100 using Tapatalk
I know pretty much all of this already but it's a useful guide for noobs for sure.
I don't bother anymore with SetCPU or any of that anymore and to be honest it's had little or no impact on battery life which is still excellent.
gingingingin said:
0: IDLE - CPU not clocked
1: AFTR - something not totally clear to me, but an alternative way to IDLE the CPU - ARM Off Top Running with L2 cache keeping its state
2: IDLE+LPA - IDLE + DEEP IDLE - also some parts of hardware are powered down
3: AFTR+LPA - AFTR + DEEP IDLE
Click to expand...
Click to collapse
These are not deep sleep states. Deep sleep is also known as "suspend" - where almost the entire system is shut down.
These are CPU idle states, which allow the core to save power even when the system is "running". They take significantly less time and energy to enter, but save less power. Also, there are only three of them - IDLE, LPA, AFTR. See arch/arm/mach-s5pv310/cpuidle.c in the kernel source for more details.
As an example, with kernels that have the cpuidle backport from the Tab 7 Plus:
IDLE is entered if the CPU is expected to be free for 4 msec (40 msec stock)
AFTR is entered if the CPU is expected to be free for 10 msec (disabled stock)
LPA is entered if the CPU is expected to be free for 40 msec (40 msec stock)
There are some rules that can cause lower states to be entered even if the cpuidle governor chooses LPA or AFTR. (cpuidle governor has nothing to do with cpufreq governor).
Your descriptions of the states are pretty close to what I understand them to be:
IDLE - clock is gated but power remains (does not eliminate any static power consumption)
AFTR - clock is gated, CPU core power removed, cache power remains - this eliminates a great deal of static power consumption - cannot be entered if second core is active
LPA - AFTR + removal of cache power - cannot be entered if second core is active
The above are why 100 MHz is pointless on our device, and in my experience, actually can increase power usage. The achievable voltage difference between 100 MHz and 200 MHz is insignificant for most peope, and if the voltages for two frequencies are the same, it's better to run at the higher frequency and drop into AFTR/LPA to shut off core power more often. The PDF linked from Ezekeel's post at http://forum.xda-developers.com/showthread.php?p=21785924#post21785924 is a useful read on this topic, especially section 6. While it's fairly old, most of the concepts remain valid. For this reason, 500 MHz also doesn't consume much more power than 200 for a given fixed amount of load due to having the same voltage stock as 200 (however, it does increase some internal clocks I believe, leading to slightly increased power) - so when the screen is on I have it set to 500 MHz minimum.
This compares to suspend, aka deep sleep, which takes around 150 msec to enter and 650 msec to resume, and the CPU must be at 800 MHz (or at least have enough voltage to support 800 MHz operation) during this time. Entering suspend/resume is very costly in terms of power due to heavy interrupt load, which is involved in 90% of complaints about high "Android OS" battery usage on Gingerbread. However I believe from some of the testing I've run that improved cpuidle greatly reduces this penalty.
With the improved cpuidle patch, even when I use the Wake Lock app to hold a permanent wakelock for testing purposes, my standby drain is only 1.5%/hour or so. When not holding a wakelock, 0.5%/hour on wifi is easily achievable. It gets much worse at my desk at work, where the signal is weak and the cell radio eats huge amounts of power - there it's around 1%/hour.
Edit: As to task killers - all of the people saying "task killers are worthless" talk about memory management only. The fact is, unfortunately, that there are some crappy apps out there that use too much CPU or hold insanely long wakelocks that you just have to use occasionally. Facebook is still the #1 example here - Facebook is a major battery hog, therefore when you're done with it, you must kill it with fire. However, NEVER use an autokiller and never use it for memory management!
Regarding battery charging, I wonder have you read this article before : batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries (please add http)
The fact seems to be completely opposite from your theory in 2.6.4.
Sent from my GT-I9100 using xda premium
Not sure, the battery article is a bit doubtful. For me at least the testing sequence is strange:
1. Charging current of 1C is a bit high, to say the least. Quick chargers have never been optimal for any type of batteries.
2. Discharge current of 1C is huge and far from being realistic for a mobile phone.
Also if we interpret the results it becomes that at 10% DoD we get 4700 small cycles, which is close to 100% DoD with 500 big cycles... Actually the results are in favor of the 100% DoD.
Of course my interpretation can be wrong, but so far I have got the opposite idea of that.
For practical purposes I can give an example of a Nokia Li-Ion battery thoroughly fully discharged and for 2 years it retained at least 80% capacity. I'd estimate the number of cycles to be 120-150.
On my current laptop the ThinkPad Panasonic battery was always almost completely discharged via settings, attaching screenshots. At 328 cycles and 3.5 years since first use it retains 88% of the design capacity. This is quite a good achievement for a tortured battery I'd say
Note: See the advice/sentence written in the top box by my good old IBM manufacturer (now Lenovo). "... battery deterioration may occur faster if the battery is constantly charged at 100%. Lowering the charge thresholds ... will help increase its lifespan". These guys know their job... I think their sentence almost surely relates to storage though. Storage at 50% is much better than storage at 100% charge. There is room for interpretation again.
Note: This is my second battery on this laptop, the first one Sanyo was a bit worse with the same treatment (maybe older technology) and after 2 years its electronics suddenly failed, while at around 150 cycles.
Entropy512 said:
The above are why 100 MHz is pointless on our device, and in my experience, actually can increase power usage. The achievable voltage difference between 100 MHz and 200 MHz is insignificant for most peope, and if the voltages for two frequencies are the same, it's better to run at the higher frequency and drop into AFTR/LPA to shut off core power more often.
Click to expand...
Click to collapse
First of all, thanks for the detailed explanation of the states.
I remember from the school/uni that the power used is proportional to the frequency. If we have static consumption in the chip it will not be affected by changing the frequency, but the dynamic part of the consumption is essentially doubled when running on 200MHz compared to 100MHz. I don't know the ratio dynamic_consumption:static_consumption for my chip, but it may be around 1:1.
The formulas were something like that: http://forums.anandtech.com/showthread.php?t=119229
Hi guys.
Edit : I am running fully stock, non-rooted and OTA updated Kit Kat 4.4.2
I noticed that a high Android OS usage and wake lock (in my case) comes from the cpu Governor locking all cores to 2.0-2.3 GHz despite nothing happening on the phone. I checked this using the system monitor tool. I have screenshots added.
The problem is that I can't see what apps are causing the governor to never make the other 3 cores go offline. When I check "Top apps" everything is at 0% cpu usage. What is causing the cores to never go offline and stay locked at 2.0GHz+ and drain battery?? It is only when this happens that I get high Android OS usage. A reboot fixes it, but it happens randomly. When I feel that my battery is draining badly, I check my cpu in system monitor and see all cores online even when idle. I just don't get it.
I'm thinking it may have something to do with dashclock/BBS or some combination, as every time this happens, the BBS add on in dashclock shows 0% drain (so it seems broken when it happens).
Please help!
Sent from my SM-N9005 using xda app-developers app
EddieN said:
I noticed that a high Android OS usage and wake lock (in my case) comes from the cpu Governor locking all cores to 2.0-2.3 GHz despite nothing happening on the phone. I checked this using the system monitor tool. I have screenshots added.
Click to expand...
Click to collapse
Hello. Have you found a solution to this problem? I thing I have something silmilar, although in my case the IDLE cores stay at 300MHz and they do not enter offline as they should. I have a rooted phone with original 4.4.2 firmware and Xposed framework installed, but it doesn't seem to be a problem (the cores get stuck after some time).
this is caused by samsungs dvfs (google it for more information). just download and enable the dvfs disabler module from xposed framework
I have xposed enabled, dvfs disabler its enabled.
My minimum 300mhz became 1.19-2ghz, so cpu is stuck.. Onlu one core usually. I find out one app that does that, camera. I enter camera app then exit, cpu minimum core is 1.95ghz and stay there always, till restart.
What rom do you have? I'm on xxuend3
And on what governor? I'm on interactive.
And usually if you move cpu minimum /maximum sliders, cpu became unstuck.
So you have few cores stuck, move sliders up and down and stuck became unstuck
Regarding the top apps not showing, I've found the usage reporting on the device to be entirely broken.
I've had it report, in 6 seperate apps, that Android was using 25%... whilst I'd been playing Oh Edo! Towns for 6 hours straight. It listed that game, which is quite heavy, as 2%.
No way in hell that's accurate.
25% in deep sleep, yes. There's nothing else running, so 25% of 1% per hour for idle processes makes sense. But not during gaming.
Sent from my SM-N9005 using Tapatalk 2
Hello! About 1 day works well for me on the phone, then the middle two seeds get stuck 1,9MHz. Only a restart helps ...
Kernel bugs??
Im on skyhigh kernel. On this one cpu wont stuck.
I found that Camera app makes cpu stuck at maximum clock, like 2.2 or more. The fix, restart phone or use cpu sliders and move them a bit, then cpu became unstuck. Use android tuner, faux, etc for moving cpu clock sliding
Note 3 rooted knox 1, my last Samsuck crap. I want freedom. Stay away from Samsuck!
I found an small annoyance. When i wake up the phone i see an lag... Sometimes its about 5sec,sometimes lower or more. How can i fix this? Tried to raise cpu clock on touch... The same
Note 3 rooted knox 1, my last Samsuck crap. I want freedom. Stay away from Samsuck!
I've rooted my N4 yesterday and since then my battery is dying quicker than before. The weird thing is, that there are no wakelooks present, but the average load is really high (see the screens below). I've had xposed installed, but removed it to locate the problem exactly.
So do you see similar values? To check it, open up the developer options and check the "Show CPU usage" (nearly at the bottom).
up.picr.de/19973329mr.jpg
up.picr.de/19973330it.jpg
In my case system_server is causing the high load, at least this is what the overlay suggests. Any thoughts?
Cheers,
flxx
Hi, mine not so high, 1.5-2.0 in idle, but still is high because, on other 4 core smartfone (Cortex-A9) I have 0.05 in idle time.
yep, my note edge (posting here because there's more people) has the same values.. 13/13/13 , I don' think it's normal (they should be around 1 shouldnt they?) but have no idea how to change that...
also system_server is the top process in my case too..
If anyone else could post their results here it would be a great help since I can't find anything online about how these values are supposed to look on a note 4..
Also high CPU load average
I have a Galaxy Note Edge on 5.1.1 and I also wonder why I have like 13/15/18 idle CPU load average. Just like OP, system_server and com.android.systemui and surfaceflinger are usually the top 3 when idle.
I used Trepn Power Profiler and also saw my CPU frequency of CPU1 and CPU2 always fluctuates between 0.4 to 1.2Ghz and that System UI always uses 3-4% in CPU monitor.
My Son's Nexus 10 had served its purpose. But Started to die at Random percent, Mostly above 50%.. So Got a new Tablet for him. But Did not want to throw away this Gem of a Tablet.
After weeks of Trial and Error finally found a solution Thanks to input from a Redditor.
Issue/Problem: Dies at Random % showing battery %0 and Shutdown. But In Recovery with Full Brightness it does not Die for hours.. (as later found out.. Recovery does not need much CPU power)
So What did I try:
1. Changed Rom's (All the way from Base Google Images to Oreo) >> Did NOT fix the Problem
2. Clearing battery stats.. etc. ( incl completely discharge and Charge and all those cycles usually we do to calibrate the battery) >> Did NOT Fix the Problem
2. Ordered a New Battery - (Samsung Model From Ebay - I guess it was used or who knows ) >> Did NOT fix the Problem
3. Changed Multiple chargers (Wall Adapters/ Cable from multiple brands which i have at home.. LG, Samsung etc etc) >> Did NOT Fix the Problem
Solution/ What Fixed:
Thanks to redditor.. Who mentioned about CPU power consumption.. And Old Mother board might not be providing enough Power to CPU. (As this tablet is Old.. It was just an Hobby to make it work and Did not want to spend more money on MotherBoard)
By this time I was on Marshmallow Linage OS Rom.. (As Everything works), Gave Root access to one of the CPU app's and Did this..(See Below) Enabled on Boot to keep the same settings.
Setting the CPU max to 1200MHz and Min to 200 it WORKED! I tried every damn thing before. For some reason... this idea did not strike my brain. So its the Power consumption from CPU.
EDIT 1: after some more testing You can go upto MAX 1600MHz (Your mileage may vary)
Finally Battery drained till zero without shutting down.
LET ME KNOW IF THIS FIXED YOUR TABLET TOO.. If you have the same issue as mine. (I Know many had this issue like mine.. but none had solution) Hope this helps.
streetsmart999 said:
My Son's Nexus 10 had served its purpose. But Started to die at Random percent, Mostly above 50%.. So Got a new Tablet for him. But Did not want to throw away this Gem of a Tablet.
After weeks of Trial and Error finally found a solution Thanks to input from a Redditor.
Issue/Problem: Dies at Random % showing battery %0 and Shutdown. But In Recovery with Full Brightness it does not Die for hours.. (as later found out.. Recovery does not need much CPU power)
So What did I try:
1. Changed Rom's (All the way from Base Google Images to Oreo) >> Did NOT fix the Problem
2. Clearing battery stats.. etc. ( incl completely discharge and Charge and all those cycles usually we do to calibrate the battery) >> Did NOT Fix the Problem
2. Ordered a New Battery - (Samsung Model From Ebay - I guess it was used or who knows ) >> Did NOT fix the Problem
3. Changed Multiple chargers (Wall Adapters/ Cable from multiple brands which i have at home.. LG, Samsung etc etc) >> Did NOT Fix the Problem
Solution/ What Fixed:
Thanks to redditor.. Who mentioned about CPU power consumption.. And Old Mother board might not be providing enough Power to CPU. (As this tablet is Old.. It was just an Hobby to make it work and Did not want to spend more money on MotherBoard)
By this time I was on Marshmallow Linage OS Rom.. (As Everything works), Gave Root access to one of the CPU app's and Did this..(See Below) Enabled on Boot to keep the same settings.
Setting the CPU max to 1200MHz and Min to 200 it WORKED! I tried every damn thing before. For some reason... this idea did not strike my brain. So its the Power consumption from CPU.
Finally Battery drained till zero without shutting down.
LET ME KNOW IF THIS FIXED YOUR TABLET TOO.. If you have the same issue as mine. (I Know many had this issue like mine.. but none had solution) Hope this helps.
Click to expand...
Click to collapse
Hi!
I have the same problem for a while. Could you tell me which CPU app did you use?
I thank you very much for your help.
Marco
Kukl said:
Hi!
I have the same problem for a while. Could you tell me which CPU app did you use?
I thank you very much for your help.
Marco
Click to expand...
Click to collapse
I used below app (But u can use any CPU app).. But other than those above setting(s).. I DID NOT change anything else. But u need ROOT to make that change.
Good Luck. hopefully it helps you too.
https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor
streetsmart999 said:
I used below app (But u can use any CPU app).. But other than those above setting(s).. I DID NOT change anything else. But u need ROOT to make that change.
Good Luck. hopefully it helps you too.
https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor
Click to expand...
Click to collapse
I try it immediately, I hope it works!
Thank you very much
Kukl said:
I try it immediately, I hope it works!
Thank you very much
Click to expand...
Click to collapse
Hey You can go MAX upto 1600.. If that doesn't work for u.. Keep reducing a lil by little.
streetsmart999 said:
Hey You can go MAX upto 1600.. If that doesn't work for u.. Keep reducing a lil by little.
Click to expand...
Click to collapse
Unfortunately at the moment I don't solved the problem, even if I set the cpu min to 200 and max to 1200.
I've installed a new ROM, deleted the cache and still the problem persists. I will do other tests trying to recalibrate the battery.
Kukl said:
Unfortunately at the moment I don't solved the problem, even if I set the cpu min to 200 and max to 1200.
I've installed a new ROM, deleted the cache and still the problem persists. I will do other tests trying to recalibrate the battery.
Click to expand...
Click to collapse
Humm... Anyway @1600 mine died at 30% .. So made it 1500 and past below 18% and Still running. So I guess 1500 is max I can go
Also Before coming this conclusion: I did the fowling
Charge 100%
Delete Batterystats.bin
Run this command from adb "adb shell dumpsys batterystats --reset"
And then Changed the CPU max (Please NOTE , Select "On Boot" to keep the same parameters). Once u change the CPU settings .. Reboot and see .. if its keeping the same settings.
Many thanks. I tried all of the the things you tried and setting the cpu max frequency is the only thing that worked.
I could get away with seeing it to 1600.
Deleting batterystats.bin does nothing https://www.xda-developers.com/goog...-battery-stats-does-not-improve-battery-life/
Now with a new battery, PureNexus Rom and your amazing fix my Nexus 10 is a thing of beauty again.
LET ME KNOW IF THIS FIXED YOUR TABLET TOO..
Click to expand...
Click to collapse
Streetmart you absolute legend. I'd never thought I'd see the day my Nexus 10 would drain down to zero again. I tried 1600, then 1500, to no avail; then I said screw it I'll just go down to 1200 (with little hope of it working).
It feels so weird to actually have an internet “solution” work. I'm super happy. I didn't want to buy another tablet. I love this one and it worka perfect for what I use it for.
Thank you! :good::highfive:
OMG! thank you for this thread! i was just posting to look for a replacement for my 10... i hope this fixes it BTW.. what's the normal max cpu speed? I REALLY don't want to replace it as the new dropbox 3 device thing really screws me..
Icetech3 said:
OMG! thank you for this thread! i was just posting to look for a replacement for my 10... i hope this fixes it BTW.. what's the normal max cpu speed? I REALLY don't want to replace it as the new dropbox 3 device thing really screws me..
Click to expand...
Click to collapse
I think the normal is 1700MHz. It's what the program showed before I changed it. All the best! Keep us updated.
Hez0 said:
I think the normal is 1700MHz. It's what the program showed before I changed it. All the best! Keep us updated.
Click to expand...
Click to collapse
What a difference... i installed that a few days ago, and i haven't used my N10 much but on standby it's still at 99% usually it would be WAY lower.. i think that program did more than just lower the max cpu a little.. don't care though. the N10 lives on!!
If you still have this issue, I have been updating the kernel and also found some of the power control settings needed tweaked. Disabling "opportunistic sleep" "logging time spent in suspend" and enabling "advanced power controls" seems to do the trick. had an issue where the device would shut off if battery level reached 20%. Haven't had it happen again yet.
DragonFire1024 said:
If you still have this issue, I have been updating the kernel and also found some of the power control settings needed tweaked. Disabling "opportunistic sleep" "logging time spent in suspend" and enabling "advanced power controls" seems to do the trick. had an issue where the device would shut off if battery level reached 20%. Haven't had it happen again yet.
Click to expand...
Click to collapse
I'm currently running at 1600 with this guy modified kernel and wow, besides no more suddenly shutdowns it runs very smoothly, it reminds me the pre-marshmallow age of this tablet.
DragonFire1024 said:
If you still have this issue, I have been updating the kernel and also found some of the power control settings needed tweaked. Disabling "opportunistic sleep" "logging time spent in suspend" and enabling "advanced power controls" seems to do the trick. had an issue where the device would shut off if battery level reached 20%. Haven't had it happen again yet.
Click to expand...
Click to collapse
Where are you finding these control settings to change?
I have replace the battery of my N10 because of low capacity.
Now it charge from 0% to 52% then it goes to 100%. On discharge it goes from 100% to 46% then shutdown and battery shows 0%. Percentage is the same in TWRP.
Since replacement of battery it have aroud 10 charge/discharge cycles without any changes.
Any solution for that?
Der_Graf said:
I have replace the battery of my N10 because of low capacity.
Now it charge from 0% to 52% then it goes to 100%. On discharge it goes from 100% to 46% then shutdown and battery shows 0%. Percentage is the same in TWRP.
Since replacement of battery it have aroud 10 charge/discharge cycles without any changes.
Any solution for that?
Click to expand...
Click to collapse
I have to agree on, that the N10 chipset/cpu/powersupply has degraded somewhat & as the battery voltage gets lower during discharge, it can not supply stable power any longer :crying:
If i reduce the CPU speed from 1700MHz to 1200MHz I get to go down to 20% instead the N10 shutting down abruptly at just 30%
I do have a spare battery in the fridge for later on. Once I open up the N10, I'll see if there is a capacitor or two, that could replaced in the power supply area to possibly fix the issue.
Note:
1. On second full charge since lowering the CPU to 1200MHz the battery got down to 14% & I have decided to charge it instead of letting it die at some point at a lower percentage
2. I should have mentioned earlier, that I still use the original N10 battery & plan to replace the original battery with a new aftermarket battery later on if I need to.
3. I use the N10 in an air-conditioned room for no longer, than half an hour at a time only browsing & reading articles with a short 10min video from YouTube.
4. Before lowering the CPU clock from 1700MHz to 1200MHz, the tablet consistently has shut down abruptly, at 27-30% battery level to my dismay.
5. Tried complete battery drain / cache reset to 0% in Recovery mode & then fully charging it while shut down 3 times without success.
6. So far lowering the CPU clock has made a difference & for prof now I am evaluating the N10 battery capacity with AccuBattery.
7. I charge my devices at around 20-25% or higher up to 80% to prolong battery life using apk's to stop charging or alert me.
I have switched to the UNOFFICIAL Resurrection Remix for Nexus 10 (ResurrectionRemix-M-v5.7.4-20161208-manta) MM ROM after rooting my N10 (Danke schön Corinna ) & had to update the baked in Kernel Adiutor.
Installing from APKMirror the "Kernel Adiutor (ROOT) 0.9.73 beta (Android 4.0.3+)" has allowed me to lower CPU MAX Frequency and have it stick after BOOT!
com.grarak.kerneladiutor_0.9.73_beta-241_minAPI15(nodpi)_apkmirror.com
Ottoman Mint said:
I have to agree on, that the N10 chipset/cpu/powersupply has degraded somewhat & as the battery voltage gets lower during discharge, it can not supply stable power any longer :crying:
Click to expand...
Click to collapse
I don´t think so. The capacity of new battery looks really good. I use the N10 as wall-mounted control tablet for my home. With activated DT2W, full brightness, showing cams on motion, controlling home and audio over the day, my new battery runs about 28 hours before it stops. With old battery it was around 15-18 hours from full to off. My workaround: Reading battery with tasker and starts charging at 50%
I think the china batterys have different voltages than samsung batterys and N10 can´t work with this.
Der_Graf said:
I don´t think so. The capacity of new battery looks really good. I use the N10 as wall-mounted control tablet for my home. With activated DT2W, full brightness, showing cams on motion, controlling home and audio over the day, my new battery runs about 28 hours before it stops. With old battery it was around 15-18 hours from full to off. My workaround: Reading battery with tasker and starts charging at 50%
I think the china batterys have different voltages than samsung batterys and N10 can´t work with this.
Click to expand...
Click to collapse
Hey,
That sounds very interesting. I may find out about that, when I replace the original N10 battery to my replacement battery from China.
I forgot to mention in my post earlier, that I am still using the original N10 battery. The original N10 battery keeps crashing at 30% unless I lower the CPU clock to 1200MHz.
After the first charge at (1200MHz max CPU) I got the N10 down to 20%+ before crashing to shut down & after the second charge I got it down to 14% at the same 1200MHz without crashing to shut down & just recharged it. Mind you I was just surfing the net & watching YouTube. I am also using AccuBattery to estimate the battery capacity atm. (Oh & don't install Battery Charge Limiter, because it boot-loops the N10 after install!)
DT2W sounds awesome. Which ROM are you using on your N10 to get DT2W, if you don't mind me asking?
Ottoman Mint said:
Hey,
That sounds very interesting. I may find out about that, when I replace the original N10 battery to my replacement battery from China.
I forgot to mention in my post earlier, that I am still using the original N10 battery. The original N10 battery keeps crashing at 30% unless I lower the CPU clock to 1200MHz.
After the first charge at (1200MHz max CPU) I got the N10 down to 20%+ before crashing to shut down & after the second charge I got it down to 14% at the same 1200MHz without crashing to shut down & just recharged it. Mind you I was just surfing the net & watching YouTube. I am also using AccuBattery to estimate the battery capacity atm. (Oh & don't install Battery Charge Limiter, because it boot-loops the N10 after install!)
DT2W sounds awesome. Which ROM are you using on your N10 to get DT2W, if you don't mind me asking?
Click to expand...
Click to collapse
Sometimes it shuts down at 20% and other times it won't. I'm almost pretty sure it doesn't have anything to do with advanced power settings or any kind of internal power settings with the kernel. There are no thermal configurations on this device and they don't add any drivers for it or support for it until much later versions. Heat seems to play a role especially down here Florida when outside. So far in my experience it's most likely to shut down at 20% if it's too hot and not likely to do so if it's been idle for a bit or not plugged in.
Sent from my Samsung Nexus 10 using XDA Labs
Hello everyone,
I come to you in the hope of finding a solution to my problem.
It's been a few months since I noticed that my battery did not hold the load, so I decided to replace it.
Unfortunately it was just slightly better.
So I installed the GSam Battery Monitor to see what was going on. I was able to notice that my CPU consumption reached peaks at 100% especially when I am connected to the Internet.
I have tried various solutions to fix this without success, so I decided to change version of LineageOS (I was on LineageOS 15).
So I went to LineageOS 16 with factory reset.
Unfortunately the problem is still present.
You will find attached screenshots of my problem.
It shows a use of my battery to 63% by applications, mostly by the system as we can see.
Between 6:45 and 8:45 I lost about 40% and I was "only" using Google news, Twitter (CPU peaks are linked to that drain I think).
Not to mention the fact that I lost about 10% between 00:30 and 06:30 without using it.
Thanks for your help
Just a quick update, i've noticed that the CPU goes back to 0% when on airplane mode, and go back to 100% once deactivated.
My signal is full on I'm not on data.
Is LineageOS16 incompatible with French network?