[GUIDE] Tweak Your Phone Yourself - Galaxy Grand Duos i9082 General

I've been playing around with a lot of settings, and these particularly made my phone smoother, faster, lag free and much more resposnsive despite the large amount of apps on my phone.
I tried to keep too much technical details out while covering the basic function of each attribute being altered
Tested on : Stock 4.2.2, 4.2.2 based AOSP ROMs, 4.4.x based AOSP ROMs
What do you need :
1. Root Access
2. Busy Box
3. App - Performance Control by @h0rn3t - Original thread (check the download tab for apk) - http://forum.xda-developers.com/showthread.php?t=2444376
4. Root Explorer like ES Explorer - https://play.google.com/store/apps/details?id=com.estrongs.android.pop
5. A little patience
WARNING​I have and am currently using these tweaks on my phone without any issues. So if your phone goes BOOM, tries to take over the world or tries to eat your brain, it's not my fault.​
Performance Control Tweaks​
First of all, take screenshots of your default settings that you are going to alter. So if this doesn't work for you and you want to revert to original settings, you can do that on your own
1. Install the Performance Control application from above (or app with similar features)
NOTE: If you are on any custom ROM like PAC-MAN, the system might have it's own version of performance control (check Settings>Performance Control option). Follow these instructions to install the current one.
Download the latest apk from the above thread, rename it "PerformanceControl.apk"
Mount System. Copy the apk to /system/app and overwrite with the current application. Give it -rw-r--r-- permissions. Then Reboot. Done!
2. In Performance Control :
The first screen is CPU Settings, as shown I'm using interactive Governor with cfq I/O scheduler, after selecting them check the "Set on Boot" option.
NOTE: If you are on a custom kernel and you have SmartassV2 governor with CFQ or SIO I/O scheduler available, use that instead.
Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency and therefore better for performance.
SmartassV2 is a rewrite of interactive governor with major tweaks that boost both battery and scaling of frequencies when performance is needed.
cfq I/O scheduler is basically for fair queing of processes, so it's better for multi-tasking in my opinion.
SIO I/O scheduler is a mix between noop and deadline but works with no reordering or sorting (downside) but still performs well.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
The second screen is Memory Settings, please "Aggressive" or "Very Aggressive", screenshot there for reference if you want to set it manually, and check the "Set on Boot" option.
This handles how much memory is to be allocated and freed to and from the applications.
Since 4.4 ROMs we have also been provided with the KSM feature in our kernel.
To enable this, simply click "Enable KSM" then Select "Settings".
Here you alter the pages to be scanned and the sleep time, i.e., how often should they be scanned.
I've found the following values to work well for me without compromising performance,
Pages to scan : 256
Sleep : 1500 ms
Once you have set the values, press "Apply Values", go back and check "Set on Boot"
KSM is a kernel thread that runs in the background and compares pages in memory that have been marked MADV_MERGEABLE by user-space. If two pages are found to be the same, the KSM thread merges them back as a single copy-on-write page of memory. KSM will save memory over time on a running system at the cost of CPU Power which can have an affect on battery life on long running devices.​
For 4.4 ROMs running custom kernel, zRAM.
NOTE: I am explaining this since it's a feature provided to us, but I do not recommend using it unless you keep running low on RAM.
To enable this, simply click on zRAM, configure the value in MBs (18%-25%), 200MB - 256 MB should be optimal. Then Click on Start.
In zRAM unnecessary/un-used storage resources/processes are compressed and then moved to a reserved area in the fixed RAM. This reserved area is referred to as zRAM and acts like a virtual swap area. This virtual space is what you configure in settings.
Advantage of using this feature is that it allows more RAM to stay free for use as well as keep apps and their data in standby mode so they are readily available when needed. This is very beneficial for low RAM devices is why it has been added to the official Kitkat.
However, the down-side of using this feature is that the compression (and de-compression) of data when it is stored away (or brought up for use) uses more CPU power and time. Which would mean, using this feature actively would probably reduce a little battery backup of your phone.​​
The third screen is Advanced Settings, simply click on the SD read ahead option, and select 4096 (or 2048, lower value if you prefer) and check the "Set on Boot" option.
This is the read ahead speed for your internal and external memories. It helps your phone read any and all data faster while you are using it.
Now we have VM Settings, please select each value and set it according to specific value (screenshots available for reference) and "Apply Values" to save the alterations after you are done editing, then check the "Set on Boot" option.
PLEASE NOTE : we are only editing these values :
vm.dirty_background_ratio : 70
vm.dirty_expire_centisecs : 500/1000
vm.dirty_ratio : 90
vm.dirty_writeback_centisecs : 1000/2000
vm.drop_caches : 3
vm.min_free_kbytes : 4096
vm.overcommit_ratio : 100
vm.swappiness : 20
vm.vfs_cache_pressure : 10
Each of settings is a direct tweak on how system and kernel handle the data.
Dirty Ratio and Dirty Background Ratio control how often the kernel writes data to disk (Increasing these might decrease a little lag but might also affect negatively on performance, so skip these if you want to).
Dirty expire and writeback centisecs are used to define when dirty data is old enough to be eligible for writeout by the kernel flusher threads (higher values are supposed to decrease lag and increase battery by flushing data less often, again, might lower the AnTuTu score a little bit, so stick to the lower values if you want).
Drop caches : Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This will drop data sectors at each boot and let the kernel start caching as soon as the boot is complete.
1 => To free pagecache
2 => To free dentries and inodes
3 => To free pagecache, dentries and inodes
Minfree kbytes, like the name suggests, it's the minimum Kbs the system VM keeps free for each zone of memory
Overcommit Ratio allows the processes to allocate (but not use) more memory than is actually available
Swappiness is the tendency of a kernel to use physical memory instead of actual RAM, so you might want to keep this value around 20-30.
VFS Cache pressure is the file system cache pressure, so for faster operation we want the kernel to prefer RAM for this, so keep this value at 10-20
​
Scroll to the last Screen, Tools. Here we have a lot of useful options that can be used for personal use, but we are mainly concerned with Optimize DBs option. Simply click Optimize Databases, it will ask you to confirm and take a minute or two to complete the command.
You can re-use this command every two weeks or so, since it's like de-fragmenting your phone's DB.
Use of this is, when a large amount of data is deleted from the database file (while being used by system or app) it leaves behind empty space, or free, unused database pages. This means the database file might be larger than necessary. Running VACUUM to rebuild the database reclaims this space and reduces the size of the database file. In other cases, database file becomes fragmented - where data for a single table or index is scattered around the database file. Running VACUUM ensures that each table and index is largely stored contiguously within the database file​​
Build.prop Tweaks​
First of all, take a backup of your original build.prop before altering anything. So if this doesn't work for you and you want to revert to original settings, you can do that on your own
How to do it?
1. Install a Root Explorer. I'll be using ES Explorer.
2. Give it root permission to access the Root Explorer mode.
3. Click the Root Explorer to get the following menu, and choose "MOUNT R/W" to mount /system partition in read/write mode.
4. Navigate to /system folder to find build.prop
Now you have two options, either Open and Edit it right there or copy build.prop to your PC and edit it using any utility like Notepad++.
If you use your PC to edit the file, you will have to copy and overwrite the original file with rw--r--r-- permissions (can be found by selecting build.prop in ES and selecting it's properties).
NOTE: /system will go back to Read only mode after each reboot, if you get any error unable to edit/copy build.prop you probably haven't mounted the /system partition as R/W.​
NOTES : Please Read
1. All the tweaks that I am about to list have been available on XDA and several other sites. I am just listing the ones I found useful and have tested myself.
2: I'm using CM's default build.prop as reference. As each ROM's build.prop is different, please check if the developer has already added the tweak before adding it again. If the value or tweak is already present, you may edit it's value if you need to.
3: Add the new tweaks/lines at the end of the build.prop, so that you can easily find or remove them if needed.
4: You don't have to use all the tweaks, just the ones you feel you need.​
The fun stuff
Lines that are not present in stock CM11 and can be added directly, are listed under TO-ADD.
Lines that are present but the values need to be edited are listed under TO-CHANGE
Lines that start with #DONTCOPY are for your information purposes only, and ofcourse don't need to copy them.
'#' - Hash Tags are used as comments in build.prop for sorting purposes, so even if you copy the # line, it will not give you any errors.
TO-CHANGE
#For Dalvik App performance
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=256m
​
TO-ADD
# Camera and Video Tweaks
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.media.capture.fast.fps=4
ro.media.capture.slow.fps=120
ro.camcorder.videoModes=true
ro.media.panorama.defres=3264x1840
ro.media.panorama.frameres=1280x720
# Camera and Video Flash Tweaks
ro.media.capture.flashMinV=3300000
ro.media.capture.torchIntensity=40
ro.media.capture.flashIntensity=70
# Disable Sending Usage Data
ro.config.nocheckin=1
# Enable sensor sleep
ro.ril.sensor.sleep.control=1
# EGL debug for system performance
debug.egl.hw=1
debug.egl.profiler=1
# Frees More RAM
persist.sys.purgeable_assets=1
# Incoming and Outgoing Call Tweaks
ro.telephony.call_ring.delay=0
ring.delay=0
# Increase Responsiveness
windowsmgr.max_events_per_sec=140
video.accelerate.hw=1
# Increase Performance
debug.performance.tuning=1
# Media Tweaks
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
media.stagefright.enable-record=true
# Net Speed Tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.hspa=4096,87380,256960,4096,16384,256960
#DONTCOPY there's no space between any number here, but XDA is displaying it anyway. please remove it while copying into build.prop
# Pointer duration optimize for better scrolling
ro.min_pointer_dur=8
# Power saving
ro.ril.power.collapse=1
pm.sleep_mode=1
#DONTCOPY pm.sleep_mode=1 -> collapse - will totally power off the cpu
#DONTCOPY pm.sleep_mode=2 -> sleep - cpu is still on, but put into low power mode
# Proximity Sensor responsiveness during Calls
ro.lge.proximity.delay=25
mot.proximity.delay=25
# Signal Reception Tweaks
persist.cust.tel.eons=1
ro.config.hw_fast_dormancy=1
# Scrolling Tweak
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000
# HW debug and Persist SystemUI HW
debug.sf.hw=1
persist.sys.ui.hw=1
# WiFi to Scan Less Frequently
wifi.supplicant_scan_interval=180​
Let me know if it worked for you
If any member has any other sysctl, VM or build.prop tweak that I might have missed or a setting value that works better for them, please let me know. I would be happy to test and post here

Edit (Change-log in OP)
-----Edited March 10, 2014-----
Reason :
- Modified the Power Collapse tweak
- Reduced max_events_per_sec
- Added build.prop tweaks
Enable sensor sleep
EGL debug for system performance
Improve Voice Quality during Calls
Pointer duration for better scrolling
Signal Reception Tweaks
SystemUI HW
-----Edited : Feb 21, 2014-----
Reason :
- Highlighted VM explanations
- Fixed "wifi.supplicant_scan_interval" in build,prop
- Added explanation and values for zRAM for 4.4.2 kernel
-----Edited : Jan 26, 2014-----
Reason : Added VM property drop_caches (Performance Control)
-----Edited : Jan 26, 2014-----
Reason : Added Scrolling tweak for Build.prop
-----Edited : Jan 21, 2014-----
Reason : Added Warning. (LOL )
-----Edited : Jan 21, 2014-----
Reason :
-Renamed the thread to [GUIDE] Tweak Your Phone Yourself
-Reordered the OP to make room for build.prop tweaks
-Put the explanations in a separate box for Performance Control
-Added info about SmartassV2 and SIO for custom kernel
-Added KSM settings info and config
-Added Dirty expire and writeback centisecs config and info for VMSettings
-Added instructions to alter build.prop file
-Added build.prop tweaks
-----Edited : Jan 1, 2014-----
Reason : Added "Tested on : Stock 4.2.2, 4.2.2 based AOSP ROMs, 4.4.x based AOSP ROMs" to the OP
-----Edited : Nov 9, 2013-----
Reason : Added install instructions for custom ROMs like PACMAN which have their own old PerformanceControl
-----Edited : Nov 06, 2013-----
Reason : Performance Control version used : 2.1.8.
-UI and implementation changes in PerformanceControl and added Optimize DBs in the OP

Great, will try out, been using sd booster.
Sent from my GT-I9082 using xda app-developers app

wiryawang said:
Great, will try out, been using sd booster.
Sent from my GT-I9082 using xda app-developers app
Click to expand...
Click to collapse
Let me know how it works out for you

nice ....

can this be used on stock rom?

felcont12 said:
can this be used on stock rom?
Click to expand...
Click to collapse
Yes, should work the same

This tweak works great, very smooth result.

Testing
Will Test these tweaks for 24 Hours...see how they perform against the other packs I've installed in my device.
Will post results. Will then run Benchmark and Stability test.
Cheers,
Paul

Really Worked For Me.
Thanks A Lot!
---------- Post added at 11:46 PM ---------- Previous post was at 11:45 PM ----------
Really Worked For Me.
Thanks A Lot!

TeSt and replay

Not able to download performance control app
Sent from my GT-I9100 using XDA Premium 4 mobile app

ashutiwari3003 said:
Not able to download performance control app
Sent from my GT-I9100 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
It will not work in the XDA mobile app
Try to open the link in any android browser
Sent from my GT-I9082 using xda premium

Seems to be a little quicker. Any issues will report back. Funny thing is my rom already had a version of performance control in it so I wondered why it wouldn't install version 2, it's because I had an older version installed but it worked once I uninstalled the old version
Sent from my SCH-I535 using xda premium

i try this and this is fast and smooth
@ashutiwari3003 this is a direct link for App - Performance Control hit thanks if i help you
http://get.xda-developers.com/dl/6/0/0/PerformanceControl-2.1.4.apk?key=afM0PWLUPDaF6n6Uv5d6GA&ts=1382029384

medozse7s said:
i try this and this is fast and smooth
@ashutiwari3003 this is a direct link for App - Performance Control hit thanks if i help you
http://get.xda-developers.com/dl/6/....apk?key=afM0PWLUPDaF6n6Uv5d6GA&ts=1382029384
Click to expand...
Click to collapse
Link is dead FYI
Sent from my SCH-I535 using xda premium

medozse7s said:
ok the apk in attached
Click to expand...
Click to collapse
Thanks but I've already downloaded it from OP
Sent from my SCH-I535 using xda premium

Thanks, I've been looking for a clear explanation a lot of these terms, specifically the VM settings. As far as kernel-tweaking apps go, I've been using Trickster Mod (on the advice of several devs), but everyone should use what works for them. It covers the SD read-ahead buffer, but not the min-free settings, so I might look around for my own combination of apps.
I'm especially glad to hear anyone's experience with the SD read-ahead buffer. The only thing I had been able to determine was: that my S3 works best in multiples of 1024. But then, there were times that I had lag, & I wasn't sure if it was because of my large buffer, or some other things that I had messed with. It really threw me when I noticed a couple of custom kernels that come with a small default buffer.
Can't wait to try this, but I might not get to it tonight. Sick Children.
Sent from my Nexus 7 using Tapatalk 4

--------------OP Edited--------------
Updated SD read ahead speed to 3072
medozse7s said:
ok the apk in attached
Click to expand...
Click to collapse
Please do not give direct links or apk for the applications used. The reason I used a thread link is to support the dev who made this great app. Anyone who needs it can go the thread and get it, it is working fine I just checked it. Thank you
pbr2 said:
Thanks, I've been looking for a clear explanation a lot of these terms, specifically the VM settings. As far as kernel-tweaking apps go, I've been using Trickster Mod (on the advice of several devs), but everyone should use what works for them. It covers the SD read-ahead buffer, but not the min-free settings, so I might look around for my own combination of apps.
I'm especially glad to hear anyone's experience with the SD read-ahead buffer. The only thing I had been able to determine was: that my S3 works best in multiples of 1024. But then, there were times that I had lag, & I wasn't sure if it was because of my large buffer, or some other things that I had messed with. It really threw me when I noticed a couple of custom kernels that come with a small default buffer.
Can't wait to try this, but I might not get to it tonight. Sick Children.
Sent from my Nexus 7 using Tapatalk 4
Click to expand...
Click to collapse
Hi, VM Settings are basically part of sysctl.config that decide how the linux os and kernel handle the data that is stored on RAM, both physical and virtual and how often to write it. Trickster Mod yes is a great app that gives you a great interface to handle a lot of features, and in there recent version they included sysctl.config as well
Version 2.6.770 (20131005)
- Add Sysctl editor (donate)
Click to expand...
Click to collapse
But the main issue would be to find the specific settings I'm referring to. If you open the editor you will the config file goes on forever. But yes the Trickster Mod can be used to edit them.
Regarding the SD card buffer, the reason I didn't simply use the 4th screen in my post to edit SD read ahead speed is because like most apps, Performance Control and possibly Trickster Mod as well, is that they only edit either sdCard or extSdCard, usually not both. Try installing SD Booster which I mentioned above, when you open the app it displays current read ahead speed of both of your storage, and probably only one of them would be the one you have set through Trickster. You can edit and monitor both through this app and even set different read ahead for each.
Lastly, yes 1024 multiples are used to be set as read ahead as it covers one entire kB/MB of data. The most common altered value is 2048, and honestly I've been experimenting and the difference after 2048 (3072/4096) isn't that much except that 3072 seems to have a little boost
Hope your children feel better today
(Benchmark of my 16GB class 10 card using Rom ToolBox Pro)

I can't download it
Sent from my GT-I9082 using XDA Premium 4 mobile app

Related

[Guide] Minicm7 Guide | Bug Fixed | Review | Extra

This is all guide with bug fixing on minicm7 2.1.X​
Screen Cut:
Only in CWM/CWR
NMEAListener:
I think NMEAListener is GPS
I found that gps.conf is europe settings
since that i have no problem with it
for non-europe residence Here Patch
Compass:
Wait till nAa fix
Video Recording Lag:
did you experience this
use this file Download
Auto Brightness:
use this tutorial
Code:
1. disable auto brightness first in display
2. go to cm settings --> display --> automatic backlight --> choose use custom and allow light decrease
3. tick edit other level
4. set number of levels to 13
5. look at this pic [URL="http://attachments.xda-developers.com/attachment.php?attachmentid=874309&stc=1&d=1327627892"]Here[/URL] And [URL="http://attachments.xda-developers.com/attachment.php?attachmentid=874311&stc=1&d=1327627892"]Here[/URL]
6. enable auto brightness in settings (not cm)
7. restart
8. enjoy
Android market app won't show up:
clear data on app settings
Just use recommended tweak:
Non-Recommended tweak make ur phone less stable
Recommended:
SuperCharger
Ram Manager / PRO
Juwe Ram's script
Etc...
Non-Recommended
Build.prop tweak
init.d tweak
IPV4/IPV6
Etc...
End of first post continued in 2nd post ​
Guide for Minicm7​
Notice ADW launcher Lag use this settings:
Code:
1) Screen Preferences - Desktop scrolling speed - set to something low-ish like 150-200, default settings are just plain moronic here. Desktop overshoot should be fine at 30 or 40.
2) Drawer Settings - Horizontal Drawer definite on (this is far superior to the scrolling drawer if you have more than a few apps, and feels much smoother).
3) Drawer Settings - Zoom effect speed - 400 is a decent setting, default was way too high.
4) Drawer Settings - Columns/Rows - 4x4 is a nice setting for portrait, if you don't like a crammed screen.
5) System Preferences - Wallpaper Hack - check this. If you have issues, change wallpapers to something of a sane size.
6) System Preferences - Use Screen Cache - check this.
7) System Preferences - Scrollable Widget support - you should start with this unchecked. Only check it if you have issues with some
Make ur phone fast without tweaks?
here my perfomance settings
Go to CyanogenMod Settings --> perfomance settings
Code:
1.) Set compcache ram usage to 18%
2.) Enable use jit
3.) Disable Surface Dithering (optional)
4.) Enable 16bit transparency
5.) Enable Allow purging of assets
6.) VM heap size 48mb
7.)
SDcard cache size 1024kb Class 1,2
SDcard cache size 2048kb Class 3,4
SDcard cache size 3072kb Class 4,5,6,7,8
SDcard cache size 4096kb Class 9,10
Go to CyanogenMod Settings --> perfomance settings --> cpu settings
Code:
1.) Available gorvernor set to smartassV2
2.) Min Cpu frequency 245mhz
3.) Max Cpu frequency 691mhz+ (optional)
4.) Set on Boot
Make minicm7 more battery save?
here my battery save settings
Note: this settings overwrite "Make ur phone fast without tweaks"
Go to CyanogenMod Settings --> perfomance settings --> cpu settings
Code:
1.) Available gorvernor set to smartassV2
2.) Min Cpu frequency 19mhz
3.) Undervolt
4.) Set on Boot
final step: Delete Unused App
Extra Section​​
Coming Soon
End Of My Post ​
LtHuNTer_StepheN said:
Don't use any tweaks:
tweaks make your phone fast but less stable
and don't use xloud and mobile bravia
they are fake
Click to expand...
Click to collapse
+1 10char..
I agree with other settings, but would you mind explaining why VM heap size is 48? I've read that 32 is better in the FAQ thread of minicm7, and 2048 sd cache cause hiccups while playing music in lower class sd cards, if you can, try to edit some things for lower class cards and higher class cards, for lower class cards 128 sd cache is better and doesnt cause hiccups, just a suggestion . On the other hand, I will try your CPU settings, the smartass v2 settings with min 248mhz and 691mhz, 691mhz is indeed the most stable for nAa kernel. BTW I use tweaks without any stability issues, supercharger v8 and sometimes ram manager pro.
This is the thread that I have read:
forum.xda-developers.com/showthread.php?p=17648469
hixvolnutt said:
I agree with other settings, but would you mind explaining why VM heap size is 48? I've read that 32 is better in the FAQ thread of minicm7, and 2048 sd cache cause hiccups while playing music in lower class sd cards, if you can, try to edit some things for lower class cards and higher class cards, for lower class cards 128 sd cache is better and doesnt cause hiccups, just a suggestion . On the other hand, I will try your CPU settings, the smartass v2 settings with min 248mhz and 691mhz, 691mhz is indeed the most stable for nAa kernel. BTW I use tweaks without any stability issues, supercharger v8 and sometimes ram manager pro.
This is the thread that I have read:
forum.xda-developers.com/showthread.php?p=17648469
Click to expand...
Click to collapse
For Perfomance it's better set 48mb
this help app memory management
this heap size is usefull for HD games
Oh i forgot
i will edit it
for that tweak is already tested
what i say is
Code:
build.prop tweak
mobile bravia engine
and useless tweak
for that tweak it may increase stability
i will edit so people understand
Post Updated
Thanks
Is there any way to fix compass?the compass is somehow inverse
for auto brightness setting, how many level are you using? Ultra brightness enable or not?
Sorry, but screen cutting still exist even with bootanim enabled..especialy when in recovery..
Btw nice thread...^^v
Sent from my E15i using Tapatalk
Post Updated
LtHuNTer_StepheN said:
Post Updated
Click to expand...
Click to collapse
Oops, i'm still using nAa 08...maybe because of that...0_x
Sent from my E15i using Tapatalk
bayumahendra24 said:
Sorry, but screen cutting still exist even with bootanim enabled..especialy when in recovery..
Btw nice thread...^^v
Sent from my E15i using Tapatalk
Click to expand...
Click to collapse
i think screen cut happen with smartass v2
D E V I L said:
i think screen cut happen with smartass v2
Click to expand...
Click to collapse
Flash the new nAa-08b kerner. This fix the problem
Hi!! I have just one question. The tethering wifi always disconnects when screen turns off. I tried wi-fi settings, advanced, never sleep but does not work. Do you have other solutions? Thanks
still score highly!!!
plus avent updated kernel and rarely get screen cuts!!
so id say great rom plus kernel!!
flegga92 said:
Flash the new nAa-08b kerner. This fix the problem
Click to expand...
Click to collapse
Still using nAa 08 (havent change kernel because what i see on the changelog, the difference between nAa 08 and 08b only the screen cuts fix) with:
- Cpu freq 19-600mhz
- smartassv2 on
- undervolt on
- bootanimation enabled
No more screen cuts since my prev post.
Screen cuts SOMETIMES only appear when i'm in cwm req...thats good enough for me..
For the video lag fix,does it work with other rom which have the same problem?flash with xrec or cwm?
Hello to everyone and excuse me if my question is probably going to be dumb (for sure it's an OT so please forgive me about that) but I'm quite clueless about the issue I'm experiencing and I hope to find an advice here.
I own and X10 mini with MiniCM 2.1.6 and 2.6.29.6-nAa-08 kernel. Everyhing's fine, really a great piece of work that has put new life into my beloved X10 Mini but I'm experiencing the 'screen cut' issue that's discussed here too: it happens only with some apps (Labyrinth for example) but it happens and I'd like to get rid of this.
I don't know if it could be an issue related to the apps not being designed for Gingerbread but I don't think so because I expect something different should this be the case.
I've read that the kernel nAa-08b is intended to solve this issue but it seems (maybe I'm wrong) that it isn't suitable for my X10 mini (I've made some digging around and the latest kernel version for my mini seems the one that I've already installed while the 08b seems to be intended for the X8). I'm sure that the reply is already around here but I couldn't succeed in finding it though I've read a lot (really a lot!) of posts here and there, especially on the official thread:
http://forum.xda-developers.com/showthread.php?t=1068553
where unfortunately I couldn't post because I'm a new member with less than ten posts. Some advices? Thanks anyway!
very good guide
thanks you very mach!
post updated
sorry im busy lately

[CWM] Skeleton zips for system and user apps & build.prop optimization

http://forum.xda-developers.com/showthread.php?p=24233846
Just download the attached zip file according to your need, add apps.. flash.. enjoy.. Tested with cwm 5.0.2.7 touch..
********************************************************************************************************************************************************
Editing build.prop.
Even though some of the things are well known for us, some of them are new for me..So im jus posting it.
1.Force launcher into memory
Property
ro.HOME_APP_ADJ = 1
Function
This will force the Default launcher into memory. But your device should be having enough free memory, otherwise you will meet lags and performance will be reduced severely. Use a light weight launcher for this.
Values
0 : Turns off the feature. Frees up memory.
1: Keeps the default launcher in memory .Will have highest priority and Android auto kills it only when it’s really necessary.
2.Improving Camera Image quality
Property
ro.media.enc.jpeg.quality=100
Function
This will force the camera application to use 100% quality setting when saving camera images as JPEG
Values
1-100 : with 1 as the worst quality and 100 as the best quality.
3.Increase resolution of panorama image
Property
ro.media.panorama.defres=3264x1840
ro.media.panorama.frameres=1280x720
Function
This will force the panorama mode in the camera app to save the image at a higher resolution. This may not be supported by all phones. And since it is an Android 4.0 feature , you will need that android version as well.
Values
defres: Provide the full panorama image resolution.Consisting of all images.
frameres: Provide the resolution of each frame of panorama.
4.Improve performance in video playback and streaming
Property
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
media.stagefright.enable-record=true
Function
Android uses the media framework named “Stagefright” from Froyo ( Android 2.2 ) onwards. While Stagefright is more open and simple, it is sometimes buggy compared to the previously used OpenCore framework. However, Google has greatly improved its stability. These values might affect the stability of playback in some devices, if it is ruining your experience , then revert to the original values.
5.Improve touch responsiveness through Hardware Rendering
Property
debug.sf.hw=1
persist.sys.ui.hw=1
debug.performance.tuning=1
video.accelerate.hw=1
debug.egl.profiler=1
debug.egl.hw=1
debug.composition.type=gpu
Function
This will force the system to use GPU for rendering each 2D frame in applications. Since android uses frame by frame rendering of the screen normally, this will offload the rendering to GPU by a huge amount and will make the user experience smoother.
Values
debug.composition.type values : GPU / CPU . GPU will make use of the graphic chip on your device for rendering each frame.
6.Disable Error Profiler
Property
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
Function
These commands enable or disable the error profiler in the android. For most android users, there is no use in having error profiling . however , some applications might make use of this for generating error reports.
Values
0 :Enable the feature. Better to delete the property if you don’t want to disable it.
1: Disables the feature.
7.Modify WiFi network scanning time.
Property
wifi.supplicant_scan_interval=180
Function
This command will be already present in all build.prop files. This controls the number of seconds the device waits before scanning for WiFi networks.
Values
Default value is 180 . It is in seconds . You can increase the value if you want to save more battery and doesn’t use WiFi extensively. Or else , you can decrease it , if you are dropping your WiFi signal often.
8.Disable logcat – Android Logger
Property
logcat.live=disable
Function
This command controls the Android Logcat file generation. This file is mainly used for debugging. Expensive disk reads/writes can be reduced by disabling Android logcat.
Values
disable / enable
9.Improve Voice Call clarity
Property
ro.ril.enable.amr.wideband=1
Function
This command controls the AMR audio codec’s property.AMR codec is used for voice calls.
Values
1 or 0 .
10.Disable Extended JNI Checks
Property
ro.kernel.android.checkjni=0
ro.kernel.checkjni=0
Function
“JNI does very little error checking. Errors usually result in a crash. Android also offers a mode called CheckJNI, where the JavaVM and JNIEnv function table pointers are switched to tables of functions that do an extended series of checks before calling the standard implementation.” . That’s the definition from Android developers documentation. While disabling this may cause some data loss when the application crashes, most applications ,which are popular, have been thoroughly checked and hence will be using precious CPU time for extended checks . Save that time by disabling this.
Values
0 / 1 : disable / enable .
11.Disable Android Device Check In.
Property
ro.config.nocheckin=1
Function
Every Android device checks in at the Google Servers when an internet connection is found, this helps Google in tracking the number of installations and the statistics of different android versions. This can be disabled to save for saving traffic and some CPU time, due to the frequent polling for checking internet connection.
Values
1/0 for disabling and enabling , respectively.
12.Increase Voice Call Audio Adjustment Steps.
Property
ro.config.vc_call_steps=20
Function
By Default, android offers seven audio levels for calls. This can be altered through this command , if you want to fine adjust the volume of your voice calls. This won’t increase the volume if it’s already low. But you can manage it by more precisely.
Values
Number of steps as integers. 7-20 is recommended. 7 is the default.
Editing Build.Prop
For editing build.prop, your device should be rooted. That’s the first requirement.
It is at /system/
If you have Root Explorer / ES File Explorer installed on your device you can edit from the device itself. More easier method is to get he application named build.prop Editor . It can be used to change the values and add new fields.
works only in cm10 based roms.
Souron29 said:
works only in cm10 based roms.
Click to expand...
Click to collapse
Of course
doesn't CM10 Rom for O1 include this? U posted it separately so thought might be working with CM9 or CM7
Souron29 said:
works only in cm10 based roms.
Click to expand...
Click to collapse
Then what is the point?
Sent from my LG-P500
This tread should be named as:[APP][CM10] messaging app with quick reply, popup notifications
Sent from my LG-P500 using xda premium
It has been taken from the latest nightly.. I dono whether our cm10 build by rashed have this..:laugh:
carrthee89 said:
It has been taken from the latest nightly.. I dono whether our cm10 build by rashed have this..:laugh:
Click to expand...
Click to collapse
I think we have this
Sent from my LG-P500 using Tapatalk 2
Bump.Now the thread is usefull
Sent from my LG-P500 using xda premium
Updated with build.prop optimizations

[Unofficial] Boeffla Kernel Profile Sharing Thread

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Welcome to the Unofficial Boeffla Kernel App Profile Sharing Thread​
Introduction
This idea was tossed around in the Boeffla Sammy Kernel thread so I decided to make one here in the General Section so that questions regarding user profiles would not clutter up the main thread.
If you want to share a profile, just upload it to your host site so that other users can grab it
For those that want to implement other user profiles to their device, simply grab the .bcprofile profile and place it in the boeffla-kernel-data directory in your internal storage and then open the Boeffla Config app and load the profile in the upper right corner of the screen.
oh, and one last thing..please remember that the Galaxy S3 is a diva and will not behave in the same manner for everybody..we all have our own unique usage patterns, so dont expect that one profile will be as effective on one device as the other..you may always tweak a profile once you download it so that it will fit your preference
=============================================================================================================================================
Read posts #2 and #6 for explanations on some configurations and settings.
All shared profiles are listed at post #3 while activation procedure is at post #4
For kernel updates and download head over to Official Boeffla-Kernel website.
For discussions regarding development, and we mean DEVLOPMENT ONLY, head over to the Boeffla Sammy Kernel thread, and Boeffla CM11.0/Omni/CM10.x thread.
All credits goes to @Lord Boeffla for an amazing kernel. :good:
**Fan teaser created by mateepunkt !**
​
First things first:
For those asking what config is best for which rom, THERE ARE NONE. All configs shared here are cross compatible with all roms. Ok, not all, since they are bracketed into Touchwiz and AOSP configs, but you get the idea. For all first timers, please try out Archi's and Lord Boeffla's and metalgearhathaway's configs first. I've been saying that for quite some time now. You can also use those profiles as basis for your own, which you can in turn share with everyone else.
​
For a comprehensive guide on all things that can be tweaked in a kernel, please read up on the following write-up by @gsstudios :
Some of the governors and schedulers and other kernel features are not implemented by @Lord Boeffla on his kernel, so just read up on those that are included in the Boeffla Kernel.
gsstudios said:
The following information is taken from my website (android modders guide)
If you want the latest bleeding edge information, visit my website
www.androidmodguide.blogspot.com
to continue reading, click here
gsstudios said:
The credits list:
Stempox
Hipkat
Knight47
Droidphile
Haldi
Matmutant(Andrux&me)
And all of the other XDA members and other people who came up with some other descriptions (To be updated)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
A few things explained:
PIRATA! said:
Thank you for your reply, and I have to say that I have to ask you a couple of things because you know the poor situation I'm in.
First of all, what does it happen if I uninstall the samsung push service? What I will not have any more?
What happens if I greenify to hibernate google play services as you say? Same question as above... Does it still receive Play Store automatic updates?
My connection is not the most perfect of ever as I continually switch between 3G and 2G due to my provider. Can't do anything about that. In such a way, I can say that I always have signal, wherever I go. Then, I have to say that I use a lot my device for internet, and in 2G it's toooo slow for use, I tried, especially because my provider is an H3G provider that users 3G a lot. Here in Italy using 2G connections it's some kind of bad for internet. Some provider do, bit Theo are quite slower. Maybe battery drawning for this it's the price to pay. I'll anyway put an eye to the app you say and see what it does, tnx!
My screen is always at minimum bright, and often use ScreenFilter to 40%, so I would not consider that too much, no?
About lockscreen effect - water droplet and all the sounds, well the water drop sound is off, and about the other like key pad it's also off. But I have to say that I keep my phone quite constantly in vibration mode, so dunno if sounds events are called anyway if active.
The only one it's active it's touch keys vibration because I like to feel that!
The water drop at lock screen is there, and the reason is that I have a Samsung phone and I like that unlock method. You say that it drains a lot of battery?? I should really change that?
Maybe I should first of all put my hands on the processes that run in background and in the kernel settings.
I am with PegasusQ battery, row with 512 on internal sdcard, cfq with 1024 on extsdcard, AFTR-LPA Aggressive, no cpu OC/UC, no cpu UV, some gpu freqs lowered at low steps, but still the same at high steps so to have stock freqs in games, some general gpu UV, screen touch boost at 600, Boeffla sound with all active minus the Mono output, Frandom tweaks, 4 zRam at 200 with 80%, stock LMK, no logging.
Hope to have said all.
Should I look at you second post I quoted down here for the file you linked and freeze/uninstall most off the apps listed there, and then greenify most of the remaining, keeping an eye on the system ones like you did??
Click to expand...
Click to collapse
axetilen said:
1/ samsung push: nothing happens if you dont use any samsung apps like chatOn. opne play store and search for samsung push service -> read the description and you will see -> reduce a lot of wakelocks according to your BBS
2/ Greenify play store: you may lose autoupdate but they will be triggered again when play service is activated -> you dont lose any update but it is slower than normal. I recommend you to turn off autoupdate in playstore settings and update apps manually. Autoupdate is reported to consume Ram and battery -> this will reduce a lot of wakelocks (A LOT)
google play service was updated to v4.1 and claimed to save a lot of battery. I dont care, I turned it off
3/ Only use 3G when you need to surf the web. Use 2G when you put your phone in the pocket or only when you use IM chat apps like viber and whatsapp. Im fine with these
also try intelli3G. I have never used it but I think it helps
4/ using lowest brightness is very good. Use autobrightness at the lowest level in outdoor conditions
5/ DONT USE PegasusQ with AFTR+LPA -> your phone cant reach deepsleep state
If Im not mistaken, I read this from somewhere that if you use AFTR+LPA, your phone can only go to deepsleep only when there is 1 core running. If there are 2 cores running, it prevents your phone to go to deepsleep
usually, pegasusQ keeps 2 cores running and maybe switches off 1 core after a period of time (I dont know when) -> goes against AFTR+LPA
pegasusQ battery saving & pegasusQplus battery (maybe there are some more but I dont remember) are the only governors that switch off the 2nd core quite fast so if you use these, it's fine but in general, I dont recommend to use pegasus with AFTR+LPA
I use zzmoove yank battery extreme instead. If I wanna play games, I use pegasusQ battery
with exactly the same configurations, PegasusQ battery seems to be slower and makes my phone hotter than zzmoove yank battery (dont know why). It got 44*C, never happens with zzmoove. Both are set at 1.2ghz, same GPU, same UV
I monitored the behaviours of these. However, because the overheat, I cannot go with pegasusQ battery
6/ turn off all sounds and effects and see how it goes. In the older versions of touchwiz, they are reported as the culprit of using too much ram and causes too many wakelocks. I dont know sammy do fix this or not because I always turn them off from the beginning
I dont recommend using CFQ with extSdCard because according to a credible source - thanks droidphile:
it might causes problems with mediascanner. I prefer SIO and ZEN. In fact, changing these in the extsdcard doesnt bring noticeable difference, quite minor in my experience because we dont always use sdcard and the speed of this is limited. You may see noticeable improvement with internal storage
7/ you should consider the list of frozen apps. you will have more free ram because useless apps are removed. They wont consume ram and battery and cause wakelocks.
if you have a look at my screenshots, you can see, AndroidOS only took 4% -> I was surprised also, couldnt believe that. I only have ~2 minutes of wakelock in 11 hours of deepsleep. I use facebook + fb messenger + viber, they cause wakelocks. I dont greenify them
I dont dont know. there should be soneone who has time and do a lot of benchmark tests to conclude. IMO row is very very fast but writting speed is slower than the others (read over write) and battery might be a bit worse. ZEN I have no idea but it is fast and works well. Andi said it saves some battery so I use ZEN. I dont have time to test. negligible difference because s3 is a flagship. It is easier to conclude in a cheap phone
try zzmoove. Pegasusq battery mostly uses 1 core so it would cause some delay. check your battery, maybe it gets bigger => not good => considered to be replaced. If it is bigger, input current is not enough to keep phone working (quite similar to undervolt) => stucked
moreover, maybe your free ram is too low that makes it slow. increase empty app to 110 or 128. change content provider to 100
Click to expand...
Click to collapse
Why can't you activate a downloaded profile?:
Lord Boeffla said:
Guys, this is always the same: If this message comes up, the file which should be imported does not have the correct format.
This can happen when a download is incomplete, when browsers think they need to modify the file in any way, when there is any other corruption etc etc.
In order to check if a file looks alright, open it on a PC and check if it has:
- At the start of the file the sequence {"data":{
- At the end of the file the sequence }}
- There must be no line breaks at all in the file
It is nothing else than a JSON file, so you can open it in any text editor to see what is in.
Andi
Click to expand...
Click to collapse
LIST OF SHARED PROFILES:
Lollipop/Android 5.x KERNEL PROFILES:
@metalgearhathaway Profile
metalgearhathaway's MGH CM12 Intelliactive V3
============================================
@ivano949 Profile
ivano949's Zzmoove insane tunable personal
============================================
@arminbih Profile
arminbih's profile
============================================
@ansh1996 Profile
aroransh96.bcprofile
============================================
============================================
SAMMY 4.4.2 Port KERNEL PROFILES:
@metalgearhathaway Profile
MGH Ondemand for Sammy 4.4.2 Ports
============================================
@S1ay3r666 Profile
Slayer-Balance.bcprofile
============================================
Mine
sammy kk experimental (aggressive LMK)
New KK (close to stock LMK)
============================================
@Mostafa Wael Profile
My QS Profile
============================================
@myshakugan Profile
myshakugan Profile
============================================
============================================
SAMMY 4.3 KERNEL PROFILES:
Archi Profile created by @JustArchi [note: right click on raw and select 'save link as']
Archi_UltraPowerSave.bcprofile
Archi_Performance.bcprofile
Archi.bcprofile
============================================
@Lord Boeffla profile
Andi2.bcprofile
============================================
@metalgearhathaway Profile
metalgearhathaway's MGH Sammy Ondemand v5
MGH zzmoove v2 WIP
============================================
@mad_ady profile
mad_ady's profile
============================================
Mine
Sammy.bcprofile
============================================
@broken920 profile
broken920.bcprofile
============================================
@mad_ady profile
LowCPU.bcprofile
============================================
@nikamuze profile
nikamuze-dailyuse battery
============================================
@inooni profile
ino's battery
============================================
@aliw32619 profile
aliw32619's Battery profile
============================================
@Hidden-Hunter profile
Hidden-Hunter's profile
============================================
@nikamuze profile
nikamuze profile
============================================
@philljoynes profile
Phills settings
============================================
@illuminato 67 profile
1.bcprofile
============================================
@ymy3890 profile
cymy
============================================
@PIRATA! Profile
PIRATA_UltraPowerSave
============================================
@gvmiguez Profile
gvmiguez profile
============================================
@Moster2 Profile
boeffla-uv-battery
============================================
@danierakes Profile
Simple
============================================
@stoianmitkov Profile
stoianmitkov's super profile
============================================
@Droopdead Profile
PerfilLulzactiveq V2 profile
============================================
@Choristav Profile
New3 profile
============================================
============================================
CM11/OMNI KK KERNEL PROFILES:
============================================
@kazuya_kun Profile
kazuya_kun profile
============================================
@JustArchi Profiles [note: right click on raw and select 'save link as']
Archi_UltraPowerSave.bcprofile
Archi_Performance.bcprofile
Archi.bcprofile
============================================
@metalgearhathaway Profile
metalgearhathaway's mgh v4
mgh boeffla ondemand v2
MGH [CM] Light User Ondemand A2DP-100mb zRam Max OC-Max Battery!
============================================
@murasama Profile
OmniBalancedOCnoUv profile
============================================
@Choristav Profile
Choristav profile
============================================
@dr.Arsla Profile
drArslaBattery.rar profile
============================================
@qrashers Profile
qrashers Galaxy SIII PLP profile
============================================
@muncheno Profile
muncheno profile
============================================
Mine
archidroid_2.x_omni_daily
temasek CM11 profile
============================================
@szunyi77 Profile
muncheno profile​
============================================
============================================
Config App Download:
Boeffla-Config-v2
Boeffla-Config-v2 DIRECT LINK​
============================================
============================================
Awesome man
from my I9300 omega 54 tapatalk
HOW TO ACTIVATE A PROFILE
1) download .bcprofile
2) put it into /data/media/0/boeffla-kernel-data
3) activate profile through Boeffla Config V2
4) open Boeffla Config V2, tap on DEFAULT, then LOAD FOREIGN, choose downloaded profile, activate it in the list (it should be blue) ​
Image guide:
step1:
step2:
step3:
step4:
step5:
​
More Things Explained:
ASV Level Explained:
Lord Boeffla said:
Samsung bins their chips according the ASV level, which can be thought of as the "quality" of the chip. The higher the ASV number, the better the chip, and the less power it needs to do its job. At the factory they mix increased gate voltages with varying body voltages to end up with a table of stock body biases. Long story short, this is how they deal with less-than-perfect chips. It's a lottery for the buyer. But since their values aren't tailored to your chip - the hope is that maybe you can scrape by with a bit less power than Samsung thought a chip of that grade could.
So in short: It tells you about which voltages will be used by your Exynos processor. Good ones can run with lower voltages, worse ones need higher voltages.
The asv level is used to look up the voltage table during bootup and initialisation phase.
Andi
Click to expand...
Click to collapse
Low Memory Killer Explained:
Papa Smurf151 said:
Explanation of LMK Settings (Low Memory Killer)
and
Explanation of Adj and Minfree settings
When your phone boots up, a file inside the boot image (init.rc) sets the system parameters. Things like the path to framework files, setting up your networks, and setting the limits at which programs are killed off to free RAM are done by this file. Now a super-Android-geek might dig inside the init.rc file and completely customize the low memory killer, but you don't have to do this to still get good results. The init.rc sets up six different "levels" of open applications. Let's have a look at them:
FOREGROUND_APP: This is the application currently on the screen, and running
VISIBLE_APP: This is an application that is open, and running in the background because it's still doing something
SECONDARY_SERVER: This is a process (a service that an application needs) that is alive and ready in case it's needed to do something
HIDDEN_APP: This again is a process, that sits idle (but still alive) in case it's needed by an app that's alive and running
For the most part, we never want to adjust when these apps and processes are killed off. They are the things that the programs we use need to properly function. For the more bold and advanced users, changing settings for HIDDEN_APP settings is possible, albeit with a LOT of trial and error. There's two more settings, and these are the ones most interesting to us today:
CONTENT_PROVIDER: This is apps that provide data (content) to the system. HTC Facebook Sync? That's a CONTENT_PROVIDER. So are things like the Android Market, or Fring. If they are alive, they can refresh and provide the content they are supposed to at the set interval. If you kill them, they can't of course.
EMPTY_APP: I call these "ghosts." They are apps that you have opened, but are done with them. Android uses a unique style of handling memory management. When an activity is ended, instead of killing it off Android keeps the application in memory so that opening them again is a faster process. Theses "ghost" apps use no battery or CPU time, they just fill RAM that would be otherwise empty. When this memory is needed by a different application or process, the RAM is flushed and made available for the new app. To satisfy the geekier people (like myself) Android does this by keeping a list of recently used apps, with the oldest apps in the list given the lowest priority -- they are killed first if RAM is needed elsewhere. This is a perfect way to handle 'ghost' processes, so there's no need to touch this part
So when you see settings like this 8,14,40,50,60, 75 you start with the first setting and it looks like this
FOREGROUND_APP = 8
VISIBLE_APP = 14
SECONDARY_SERVER = 40
HIDDEN_APP = 50
CONTENT_PROVIDER = 60
EMPTY_APP = 75
You can manipulate these numbers so that they are better managed and give You different aggressiveness and a faster UI
For the Smurfed Out script the settings are as follows
Lite = 8,14,55,70,85,100
Medium = 8,14,75,90,95,125
Max = 25,35,55,70,150,250
Extreme = 25,35,75,90,150,250
Minfrees are set as well but they are equal to the LowMemoryKiller ADJ settings.
I personally run them at Max while using ICS but everyone's experiences will be different.
Click to expand...
Click to collapse
ZRam Explained:
-CALIBAN666- said:
Once a brief statement for those who are not traveling so long in the Android scene:
ZRAM = ramzswap = Compcache
In order to explain more precisely ZRAM first need other terms are more clearly defined:
Swap can be compared with the swap file on Windows. If the memory (RAM) to complete the PC the data that are being used not actively outsource (eg background applications) so as to re-evacuate RAM free. To this data is written to a hard disk. If required, this data is then read back from there easily. Even the fastest SSD is slower than the RAM. On Android, there is no swap!
In ZRAM unnecessary storage resources are compressed and then moved to a reserved area in the fixed RAM (ZRAM). So a kind of swap in memory.
This Ram is more free because the data then only about 1/4 of the former storage requirements have. However, the CPU has to work in more because they compress the data has (or unpack again when they are needed). The advantage clearly lies in the speed. Since the swap partition in RAM is much faster than this is a swap partition on a hard drive.
In itself a great thing. But Android does not have a swap partition, and therefore brings Android ZRAM under no performance gain as would be the case with a normal PC.
In normal PC would look like this:
Swap = swap file (on disk) -> Slow
ZRAM (swap in RAM) -> Faster than swap
RAM -> Quick
With Android, there is no swap partition, and therefore brings ZRAM also no performance boost.
The only thing that brings ZRAM is "more" RAM. Compressed by the "enlarged" so to speak of the available memory. That's on devices with little RAM (<256MB) also pretty useful. The S2 has 1GB but the rich, and more than. There must not be artificially pushed up to 1.5 GB.
After you activate the ZRAM also has 2 disadvantages. The encoding and decoding using CPU time, which in turn has higher power consumption.
Roughly one can say (For devices with more than 512MB RAM):
Without ZRAM: + CPU Performance | + Battery | RAM
With ZRAM: CPU Performance |-Battery | + RAM
For devices with too little RAM so it makes perfect sense. But who shoots the S2 already be fully complete RAM and then still need more?
Check whether you can ZRAM runs in the terminal with
free or cat / proc / meminfo
I hope it helps to understand zRam!!!!
Click to expand...
Click to collapse
Zzmoove Governor Profiles Explained:
GrimPivo said:
* currently available profiles by ZaneZam and Yank555:
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (1)'def' -> Default -> will set governor defaults -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (2)'ybat -> Yank Battery -> a very good battery/performance balanced setting -
* - DEV-NOTE: highly recommended! -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (3)'ybatext'-> Yank Battery Extreme -> like yank battery but focus on battery saving -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (4)'zzbat' -> ZaneZam Battery -> a more 'harsh' setting strictly focused on battery saving -
* - DEV-NOTE: might give some lags! -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (5)'zzbatp' -> ZaneZam Battery Plus -> NEW! reworked 'faster' battery setting -
* - DEV-NOTE: recommended too! -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (7)'zzopt' -> ZaneZam Optimized -> balanced setting with no focus in any direction -
* - DEV-NOTE: relict from back in the days, even though some people still like it! -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (6)'zzmod' -> ZaneZam Moderate -> NEW! setting based on 'zzopt' which has mainly (but not strictly only!) 2 cores online -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (8)'zzperf' -> ZaneZam Performance -> all you can get from zzmoove in terms of performance but still has the fast -
* - down scaling/hotplugging behaving -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (9)'zzinz' -> ZaneZam InZane -> NEW! based on performance with new insane scaling active. a new experience! -
* ------------------------------------------------------------------------------------------------------------------------------------------
* - (10)'zzgame' -> ZaneZam Gaming -> NEW! based on performance with scaling block enabled to avoid cpu overheating during gameplay -
* ------------------------------------------------------------------------------------------------------------------------------------------
*
* NOTE: be aware when setting tuneables which have a 'should' in comments below that giving
* them 'wrong' values can lead to odd hotplug behaving!
*
*/
Click to expand...
Click to collapse
A Few Things To Remember:
-When playing around with CPU/GPU profiles, remember to reset the values first before applying another profiles. This sometimes causes the profiles to not be set properly. You can do so by pressing the reset button beside the profile selection drop down box.
-Also, when playing around with the voltage table, remember to also reset the values of the voltage table first. This is causes a lot of voltage tables to not be set properly because when you try to switch from a table to another, the table from the previous profile sticks. Keep in mind also that undervolting too much will cause not only lags but also random reboots. If you want to undervolt, do so step by step, dont just jump straight to -100 and expect the device to still be as stable as before. Keep in mind also that the chips in our S3's are different from one another, as stated in the ASV Level explanation above, so not all voltage tables in shared profiles will be as effective on all other devices.
-When adjusting LMK settings, you have to be aware of how you use your phone i.e. how much multitasking you do, games, music, etc. There is a big difference sometimes also in roms where there are an abundance of memory tweaks in the init.d folder or however the rom developer implements his memory tweaks. That also comes into play with regards to memory management. For example, in CM11, I always have above 300+mb free of RAM when idle, while only having 200+/- mb free when running Sammy based.
-ZRam is not for everybody. There are users who report that ZRam sometimes causes freezes and lag [including me], and has been widely a cause for much discussion. As Lord Boeffla has always said, if you're not a heavy multitasker, dont use it.
-It is not advisable to use a Sammy kernel profile on CM or Omni, and vise versa. There is a reason why Lord Boeffla created spearate threads for his kernels, since there is a ton of difference in the code and configuration implementation between them. As stated by him, "If you are on CM or Omnirom kernel, reset your undervolting for CPU and GPU + reset your LMK settings as they might not apply for your S3 (my profile was taken from Samsung kernel !!!)".
Click to expand...
Click to collapse
The Great Undervolt Debate
Raphy511 said:
Hello,
I am not sure that undervolting can increase battery life. I even think it's the opposite effect
Demonstration :
Increasing battery battery life means using less power.
Power (P) is : P=U(voltage) x I (Intensity)
Most energy used by processors is converted in heating. It is like a resistance.
Voltage for a resistance is U = R x I. (ohm)
So Power used by the processor is P = U * I = R * I * I = R x I^2
So to reduce energy consumption, we have to reduce P. We cannot change R, so we should decrease Intensity.
Power used by processor cannot be change. So if we undervolt, intensity is increasing so the processors heats more and it is the opposite effect.
So why undervolt?
Click to expand...
Click to collapse
Entropy512 said:
P is NOT CONSTANT.
R is semi-constant (semiconductors are weird, so can be nonlinear), gate capacitance C is constant.
If you lower V, you lower I, and thus, you lower P=V*I
That's the whole point of reducing V...
In general, UV is best for, on most devices, 3-5% reduction in CPU core power consumption before you hit stability limits. For general day-to-day use this results in less than a fraction of a percent of total system consumption being saved, but can matter if you're a heavy gamer, giving you more headroom before hitting thermal throttling and consuming less power.
Click to expand...
Click to collapse
AndreiLux said:
I or current does not exist as a constant in transistors. Semiconductor physics are different from normal macro-electronics. The same principles still apply but they are meaningless as their magnitude are lowered to nothingness.
Main power dissipation and power consumption is caused by dynamic leakage on the transistor gate while it is switching. Secondary power consumer is static leakage caused between gate and the body.
The usual simplified formula for CMOS transistors is expressed as
Power = Voltage² x Frequency x Capacitance
or
P = V² x f x C
That's basically it in very simplified terms. And as ewdinpang said, lowering voltage has a squared power decrease in the dynamic leakage power. This has been measured and proven, from myself included.
The full expanded forumula is here:
This is a nonsensical argument, temperature aka heat, is power. If you are getting a less heated phone, then your battery life is improving. If this wouldn't be the case then you are holding the solution to the world's energy problems in your hands.
Click to expand...
Click to collapse
boyheadkick said:
and here's mine:
this is my current profile
https://docs.google.com/file/d/0BzgxLZJk-WiRVll5OUQ0X2c2czA/edit
and this is my gaming profile
https://docs.google.com/file/d/0BzgxLZJk-WiRMElDa0tnRU5uOEU/edit
Click to expand...
Click to collapse
Can't download ,required premission
from my I9300 omega 54 tapatalk
Hi,
I will post mine a bit later, after I released the new kernel series for Samsung, CM and Omnirom.
Andi
zhuoxian said:
Can't download ,required premission
from my I9300 omega 54 tapatalk
Click to expand...
Click to collapse
I'll upload to another site..cant do it right now
Tapatalked from my OmegaDroid i9300
Great thread, it can be very usefull for everybody. I'm using Boeffla 5.1 B13 on a ML2 custom rom and it's awesome. I have 8 hours of screen on two days of use with 3000mAh Samsung battery
Lord Boeffla said:
Hi,
I will post mine a bit later, after I released the new kernel series for Samsung, CM and Omnirom.
Andi
Click to expand...
Click to collapse
Huuuh, salivating news....
Regards
Clark
Ho and thank you for quoting my post and its reply on top
If you want more specific infos on that, find in the Boeffla thread my post (just a few after the one you quoted and the few last one you'll find now) where we talk about the modded PegasusQ battery to use with AFTR-LPA and the things related to zRam and its use!
Sent from my Samsung Galaxy S3 GT-i9300 using TapaTalk2
My current config
Hi all,
so, this is the configuration I am using at the moment:
http://boeffla.df-kunde.de/sgs3/configurations/Andi2.bcprofile
(Right click link to download)
Cheers
Andi
Hi all,
this is my configuration for the best performance , from Italy.
ROM Imperium 4.1.2
http://www67.zippyshare.com/v/48393375/file.html
Lord Boeffla said:
Hi all,
so, this is the configuration I am using at the moment:
http://boeffla.df-kunde.de/sgs3/configurations/Andi2.bcprofile
(Right click link to download)
Cheers
Andi
Click to expand...
Click to collapse
Is now my current profile
Sent from my GT-I9300 using xda app-developers app
boyheadkick said:
and here's mine:
this is my current profile
https://docs.google.com/file/d/0BzgxLZJk-WiRVll5OUQ0X2c2czA/edit
and this is my gaming profile
https://docs.google.com/file/d/0BzgxLZJk-WiRMElDa0tnRU5uOEU/edit
Click to expand...
Click to collapse
I can't download it.
GT-I9300 cihazımdan Tapatalk kullanılarak gönderildi
mehmetgoksu said:
I can't download it.
GT-I9300 cihazımdan Tapatalk kullanılarak gönderildi
Click to expand...
Click to collapse
I havent reuploaded it yet..i will do it later today
Tapatalked from my OmegaDroid i9300
Lord Boeffla said:
Hi all,
so, this is the configuration I am using at the moment:
http://boeffla.df-kunde.de/sgs3/configurations/Andi2.bcprofile
(Right click link to download)
Cheers
Andi
Click to expand...
Click to collapse
how to apply this??
please someone guide me..
MethMargera said:
how to apply this??
please someone guide me..
Click to expand...
Click to collapse
Here you are..
malachow said:
3) activate profile through Boeffla Config V2
How to activate?
open Boeffla Config V2, tap on "DEFAULT" on top, then "load...", choose downloaded profile, activate it in the list (it should be blue) :good:
Click to expand...
Click to collapse
malachow said:
Here you are..
Click to expand...
Click to collapse
thanks and thanks and alot of thanks..u are awesome..

[TUTE][TIPS] Android RAM Management

Android RAM Management
What's this thread about?
This is a brief account of some useful aspects of android memory management and what could be done to make it better or to suit our needs. This is arranged in two parts; A) RAM Management Lesson. B) RAM Management Tips. Whoever is familiar with the Android RAM management concepts can skip to the second part (2nd post). [highlight]Please read and understand carefully before applying anything to the phone. I'm not responsible for any unwanted effects thereby. Credits belong to respective authors of any MOD/APP discussed here.[/highlight]
A) RAM Management Lesson
Android uses a different way of handling processes. Instead of killing every process after its activity ended, processes are kept until the system needs more memory. The idea is to give speed improvements if you start that activity again. But how/when does Android kill a process if it needs more memory and and which process to kill first?
This is managed by the LMK (Low Memory Killer) driver of Android. You may already know that every app/process in Android is assigned an oom_adj value, which indicates the likelihood of it being killed when an out of memory (OOM) situation occurs. More higher it's value, the higher likelihood of it getting killed. Valid range is -17 to +15. (if in the -17 range means it won't get killed). According to that, there are six groups (OOM groups), into which apps/processes are categorised:
1. Foreground app
2. Visible app
3. Secondary server
4. Hidden app
5. Content provider
6. Empty app
Basically these could be described as..
FOREGROUND_APP:
// This is the process running the current foreground app. We'd really
// rather not kill it!
VISIBLE_APP:
// This is a process only hosting activities that are visible to the
// user, so we'd prefer they don't disappear.
SECONDARY_SERVER:
// This is a process holding a secondary server -- killing it will not
// have much of an impact as far as the user is concerned.
HIDDEN_APP:
// This is a process only hosting activities that are not visible,
// so it can be killed without any disruption.
CONTENT_PROVIDER:
// This is a process with a content provider that does not have any clients
// attached to it. If it did have any clients, its adjustment would be the
// one for the highest-priority of those processes.
EMPTY_APP:
// This is a process without anything currently running in it. Definitely
// the first to go!
Click to expand...
Click to collapse
These groups are defined by oom_adj value limits, and apps would fall into one of those groups according to the oom_adj value assigned to that particular app. "Foreground apps" usually have an oom_adj value of 0 or less (so they are the least killable; i.e High priority). "Empty apps" have a higher oom_adj (they are killed early; i.e Low priority). Also, oom_adj value changes according to the state of the user app; it's 0 when the app is active in the foreground and assigned a higher value when the app goes to the background.
Why their "killability" differ? Apps belonging to these different groups (that have different oom_adj's), start to get killed at different levels of free RAM. These triggering RAM limits are defined by the LMK minfree values. Above 6 categories correspond with 6 RAM limits which are set in the LMK minfree. Eg: Stock Android 4.3 in our SP comes with the minfree values of 58,68,78,88,98,118. (these are in MB; see below how to check it). Practically what it means is, Empty apps will get killed when ram goes below 118mb, Content providers when it goes below 98mb, Hidden apps when it goes below 88mb and so on.. lastly starts killing Foreground apps when ram goes below 58mb. You may notice that this last value (58mb) is not desirable when using memory intensive apps like heavy games. The app might shutdown while we interact with it. It won't be a surprise if RealRacing3 would shutdown in the middle of a race with these minfree settings!
[Highlight]Notes:[/highlight]
1. In our SP (and newer kernels), oom_[highlight]score[/highlight]_adj is used instead of old oom_adj. (oom_score_adj valid range is -1000 to 1000). But oom_adj is also maintained for compatibility I think.
2. It is said that there are many OOM process categories that are assigned different oom_adj priorities by the ActivityManagerService, but eventually all of those would be considered under above six slots/groups (according to oom_limits), for the purpose of killing by the LMK minfree triggers. Therefore, those six are the importatnt ones for normal users like us.
[highlight]Now, to the practically important part...[/highlight]
# We can check the minfree values (also change them) and see the OOM groupings of apps/processes with this Memory Manager app easily.
a) LMK Minfrees:................... ......................................b) OOM groupings:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
....
If we click on an app in the list and select 'more info', we can see it's oom_adj value. In my case, System UI has -12 (foreground), Home Launcher has 1 (visible group) etc..
# We can check these manually in a terminal too..
a) LMK Minfrees:
Give the following command (without quotes) in a terminal emulator or adb shell: "cat /sys/module/lowmemorykiller/parameters/minfree"
Code:
$ cat /sys/module/lowmemorykiller/parameters/minfree
[b]15000,17532,20065,22598,25131,30263[/b]
** These are in pages; 1 page=4K. Therefore, converting these in to MB results in.. 58,68,78,88,98,118. (e.g: 15000 x 4 /1024 = 58,5938)
b) OOM_adj value of an app:
*This is not much useful. But nice to know where to get these values from.
E.g. take home launcher. Find out it's PID (process ID) like this.. (command with output posted)
Code:
$ ps |grep [b]home[/b]
u0_a26 1653 721 471408 78076 ffffffff 00000000 S com.sonyericsson.home
It's pid is 1653. To see it's oom_adj value..
Code:
$ cat /proc/[b]1653[/b]/oom_adj
1
It's 1 (foreground). You might get 6 (hidden). So, your home is easily killed than my home . See below why..
At the same time we can see the new oom_score_adj..
Code:
$ cat /proc/[b]1653[/b]/oom_score_adj
58
* To convert old oom_adj value to newer oom_score_adj..
oom_score_adj = (oom_adj x 1000)/17 (truncate the decimals). So, (1x1000)/17=58.823
*There's another value (0-1000) of oom_score (cat /proc/1653/oom_score), which is THE actual indicator of how likely a process will get killed. It changes according to the tunable oom_score_adj and other factors..? something like that.. forget it!
[highlight]## The above mechanism could also be described according to what is mentioned in kernel source files[/highlight], as below. Can skip if it's boring ..
It's from 'drivers/misc/lowmemorykiller.c' of kernel sources (4.3; .266)
* The lowmemorykiller driver lets user-space specify a set of memory thresholds
* where processes with a range of oom_score_adj values will get killed. Specify
* the minimum oom_score_adj values in
* /sys/module/lowmemorykiller/parameters/adj and the number of free pages in
* /sys/module/lowmemorykiller/parameters/minfree. Both files take a comma
* separated list of numbers in ascending order.
*
* [highlight]For example, write "0,8" to /sys/module/lowmemorykiller/parameters/adj and
* "1024,4096" to /sys/module/lowmemorykiller/parameters/minfree to kill
* processes with a oom_score_adj value of 8 or higher when the free memory
* drops below 4096 pages and kill processes with a oom_score_adj value of 0 or
* higher when the free memory drops below 1024 pages.[/highlight]
*
* The driver considers memory used for caches to be free, but if a large
* percentage of the cached memory is locked this can be very inaccurate
* and processes may not get killed until the normal oom killer is triggered.
Click to expand...
Click to collapse
If we take our phone values, "cat /sys/module/lowmemorykiller/parameters/adj" command returns: "0,58,117,235,529,1000". These are in (new) oom_score_adj values. If we convert them to (old) oom_adj values, these become "0,1,2,4,9,15". (eg:117x17/1000=1.989=2; The last value becomes 17, but oom_adj range ends with 15, so we take 15). Now, with our minfrees of 58,68,78,88,98,118, what it means practically is to kill processes with a oom_adj value of 0 or higher when the free memory drops below 58mb and kill processes with a oom_adj value of 1 or higher when the free memory drops below 68mb and so on... Therefore, it's clear that the adj values "0,1,2,4,9,15" (or score_adj values "0,58,117,235,529,1000") define the limits of each of 6 OOM slot described above.
Another point to note is what mentioned above in the kernel source file "..driver considers memory used for caches to be free..", which is described below.
[highlight]What is "Free RAM"?[/highlight]
What's reported in many apps as "free ram" is actually not free/empty. Linux/Android always tries to utilise the whole ram in some way, so the ram is not wasted. Ram which is not used by active apps, is used for caching apps and for some buffers. These caches and buffers can release memory for apps when needed. We can see the ram usage in detail with this command.. "cat /proc/meminfo" [giving "watch cat /proc/meminfo" would refresh the output every 2 seconds].
Code:
$ cat /proc/meminfo
MemTotal: 859764 kB
[B]MemFree: 26380 kB
Buffers: 2008 kB
Cached: 136600 kB[/b]
SwapCached: 0 kB
Active: 557312 kB
Inactive: 70520 kB
...blah.. ..blah...
....
Reported "free ram" was ~150mb when this was taken. Out of that, most (135mb) is already cached. ["Free RAM"=MemFree+Cached]. Actual free is very little. So, increasing "free ram" makes the phone much snappier because most of that "free" part of the RAM is used for caching things.
-->> RAM Management Tips
B) Tips for better RAM management.
Following is an account of which i benefitted from, sharing for others who may not be aware of these. Your milage may vary... Desired "RAM Management" differs depending on whether expecting more multitasking or a snappy phone with lot of free RAM. Nowadays, phones with better specs generally won't show any lag even if tuned for multi-tasking , although "free RAM" stays little lower. I prefer towards more multi-tasking
1. Change the minfree values to suit your needs. [highlight](Need Root access)[/highlight].
LMK Minfree values can be changed on the fly. Use lower values if you want more multitasking. Higher values if need more "free ram" for gaming etc.. . I use 8,12,45,65,95,165 for more multitasking and for foreground apps to stay until ram becomes much lower. Asphalt8 never crashed with this! If we use values like 15,25,95,145,195,245 "free ram" would be more but background apps (e.g. Hidden apps) would shutdown earlier. However, make sure NOT to increase the first 2 slots too high, so that the Foreground and Visible apps would stay even if RAM goes lower.
How to set/change them:
a) You can set those values with the above Memory Manager app and press Apply. (and tick 'apply at boot' for those values to be applied at every boot).
** There are many preset values you can experiment with.
b) Or can do the manual way.. Give the following command in a terminal/ADB shell:
Code:
echo "2048,3072,11520,16640,24320,42240" > /sys/module/lowmemorykiller/parameters/minfree
(That's after "su" command to get root prompt). ** Need to 'echo' them in pages; not in MBs. See first post how to convert them.
Note: This won't survive reboot. You can run this command as a script with init.d every boot. (For init.d support, check this). The script would look like this:
Code:
#!/system/bin/sh
echo "2048,3072,11520,16640,24320,42240" > /sys/module/lowmemorykiller/parameters/minfree ;
c) Can use Minfree Manager app. To set the minfrees, press Apply after entering the values. If we press 'Apply at Boot', it saves a script under init.d. No hassle.
** There are many apps that can do these kind of changes. Eg: Auto Memory Manager, Ram Manager(Free/Pro)-with other options. The above described ones are very easy to use.
2. Use 'App Settings' xposed module to make any app "stay" in memory (make it "Resident"). [highlight](Need Root access)[/highlight]
It would definitely help multitasking by keeping the needed apps in the background without getting killed, even if RAM becomes low. It possibly works by reduces the app's oom_adj value. That's why you can see Opera Mini in the 'Foreground app' list in my screenshot above (1st post). It's oom_adj value is 0. You can do this for your home launcher and any app you wan't to stay un-killed in the background.
Caution: Making apps to stay in memory would make them stay without being killed, even when e.g. a heavy game is starving for RAM. Therefore, indiscriminate use of this option is not advised. I think it's better to..
(i) Apply only to the apps which have an 'Exit' button/menu, so we can shut it down when needed.
(ii) If no exit button, Add to the 'Greenify' list to be hibernated when the app is not needed. But it asks for confirmation before hibernating these kind of apps with 'High Priority' oom_adj status.
How-to:
1. Get Xposed installer from here. Install it. Install the Xposed framework through it. Refer to the respective thread for more details.
2. Then download the 'App Settings' module through Xposed installer..
3. Open 'App Settings'.. App list will load.
4. Select the app you wan't to tweak.. It will lead to a page as seen in the screenshot above.
5. Select 'Resident' and save (upper right corner button). Can change any other setting if needed.
3. Use zeppelinrox's jar patcher tools to patch services.jar. [highlight](Need Root access)[/highlight].
It changes Home Launcher priority and many other LMK related tweaks. This is why you see my home launcher is under visible apps (oom_adj 1). No launcher redraws even after asphalt8! See the particular thread for details. In summary, patching services.jar results in (quoted from the thread):
- This will SuperCharge Your Home Launcher and ADJ/OOM Priorities! You pick launcher strength!
- This lets you run up to 70 hidden apps instead of the default 15 (RAM permitting) without breaking the lowmemorykiller!
- This tries to bypass the 30 minute service inactivity limit by increasing it to 24 hours.
Click to expand...
Click to collapse
** From ICS up, Android doesn't read ADJ values from build.prop or local.prop - they are hardcoded into services.jar! That is the reason for needing to patch services.jar to change OOM priorities. More details in the respective threads.
How-to (quoted):
Get Jar patcher tools from the thread. I used 'Ultimatic_Jar_Patcher_Tools_RC7_TEST6_ALL_DEX_ALL_OSes_NO_FLASH.zip'. Extract it in the PC. Make sure ADB drivers installed.
How to run -=Ultimatic Jar Patcher Tools=-
1. Connect your Android to your PC with Android Debugging ENABLED and Mass Storage DISABLED so your device has access to your sdcard.
2. Windows: Run either the zip's *.bat or the attached *.exe
If running the exe, you can put a different ultimate jar power tools script version in the same folder and it will use that one otherwise it uses the embedded version!
If you have cygwin installed, you can even use the zip's *.sh file at the cygwin prompt.
Linux/Mac OSX: run the zip's *.sh file
Just be sure to read everything and answer Yes or No as is your preference.
Example: The script allows you to choose the level of your Launcher's Super Strength! (BulletProof, Die-Hard, or Hard To Kill)
Click to expand...
Click to collapse
** Always keep a cwm backup before attempting this; might not get it correct in the first attempt..
4. With the above jar patching, can use zeppelinrox's supercharger script. [highlight](Need Root access)[/highlight].
It can be used to change the minfrees and it re-groups the OOM categories. It also has tons of other cool tweaks. If we check "cat /sys/module/lowmemorykiller/parameters/adj" after applying the SuperCharger scripts to our phone, it returns.. "0,176,352,588,705,1000". Converting to oom_adj values (see 1st post) it becomes "0,3,6,10,12,15". Comparing with stock values (0,1,2,4,9,15), we can see that the above described six OOM slots are re-arranged, sort-of categorising more processes towards higher priority. Can test those settings by echoing those values (this won't survive reboot):
Code:
echo "0,176,352,588,705,1000" > /sys/module/lowmemorykiller/parameters/adj
** Not advisable to meddle with this if no clear idea about what is being done. Use the SuperCharger script instead. Checkout the respective thread for more info.
[For me, this OOM regrouping made some task killings more difficult and it didn't relese RAM readily when needed for heavy games..(may not be same for others ). So I'm not using it at the moment. I'm setting up minfrees as described previously.]
How-to (briefly):
1) Get the latest SuperCharger script from the thread.
2) Make sure requirements are met. Eg: Rooted, Busybox installed.
3) Run the script through 'Script Manager-Smanager' app (with root access granted).
4) Read the output of the screen and reply to the prompts accordingly.
** Keep a cwm backup before attempting this, just in case..
5. Override the "Hidden app limit" of Android. [highlight](Need Root access)[/highlight].
In addition to the LMK driver mechanism described above, this is another parameter that leads to killing of Hidden and Empty apps. Apps are killed when the number of those apps go beyond the specified limits. (Traditionally it was 15, so no more than 15 hidden apps would stay in the background even if there's plenty of RAM). There's a build.prop setting which can control this in our SP. (Btw, services.jar patching mentioned above makes that limit to 70). With the build.prop setting mentioned, we could make it to even 150 ! (This way, we can maximize multitasking and app killing is fully handed over to LMK minfrees, which we can control).
How-to:
Code:
ro.sys.fw.bg_apps_limit=70
Add this line to end of build.prop file (in /system) and leave another blank line below that, and save the file. Then reboot.
Tip: Build Prop Editor is an easy way to edit the build.prop.
** Always keep cwm backups before doing these kind of things.
How to test:
a) Install CatLog app (need root) [This is for reading Logcat]
b) Run it and enter "longer" (without quotes) in the filter bar. Might get a filtered output like this:
It means that the 24th Empty app had got killed, because of exceeding the hidden app limit. This is after services.jar patching making the Hidden app limit to 70. Before it was #17 if I remember correctly.
c) Check the same output after applying the build.prop setting. Should get a little increase. (When I made Hidden app limit to 100, output was #34th empty app gets killed. So, I wen't upto 150 until that kind of output disappeared ).
## Credits to @zeppelinrox for finding that build.prop setting. You can read what happened here in his thread.
How it works:
By @zeppelinrox
In Android 4.2 the max hidden apps are divided into 2 parts (In AMS smali the value is stored in "mProcessLimit")
Part of it goes towards hidden apps.
Part of it goes towards empty apps.
So what happens is it gets the max apps limit (v2)
It gets multiplied by 2 so "v2" is doubled in value.
Now... that is divided by 3 and that value is assigned to empty apps (v13)
Finally, empty apps (v13) is subtracted from v2 to give you hidden apps (v17)
So by default, there are MORE empty apps than hidden apps!
2/3 are empty
1/3 are hidden
So your original config was probably...
max hidden apps = 25
empty apps = 17 (25x2/3)
hidden apps = 8 (25-17)
So normally (without jar patching), if the limit is 70 it would break down like this...
max hidden apps = 70
empty apps = 46 (70x2/3)
hidden apps = 24 (70-46)
** Services.jar patching reverses this ratio (to give more allowance to Hidden apps than Empty apps. Then it results in:
max hidden apps = 70
empty apps = [highlight]23[/highlight] (70x3/9)
hidden apps = 47 (70-23)
Click to expand...
Click to collapse
That's why my 24th Empty app was getting killed with app limit of 70. You might get a totally different value if this build.prop setting is applied without services.jar patching. Appreciate your feedback
[highlight]** Please Note: I'm no dev. I wrote this according to what i understood by reading around in the net. I'd be more than glad if anyone points out any shortcomings/improvements. Thanks.[/highlight]
Credits/Sources
@zeppelinrox for his supercharger thread with overwhelming info, for finding out the build.prop setting in our SP, for explaining things and many more!
@androcheck for his thread
Took more info from here, here, here, and here.
[Highlight]An interesting observation...[/highlight]
Many of us refer to 'Settings>Apps>Running' to see how much free RAM is available at a particular moment. Generally we believed that it shows the correct value. But, some observations makes that value doubtful. E.g: This value doesn't tally with /proc/meminfo values. Furthermore, 'Free RAM' indicated by other apps at times are totally different.
(1).CoolTool - 121 MB
(2).meminfo (watch cat /proc/meminfo) - Looks compatible with cooltool value.
(3). Android says - 23MB!!??
**(all 3 values were updating realtime..)
Sometimes it goes the other way:
(gave time to settle down of course)
Any thoughts?? Does anyone experience like this or only me?
Just in case..
mrhnet said:
@androcheck for his thread...
Click to expand...
Click to collapse
Hi @mrhnet: I got pinged by your mention of my username. Thank you for this valuable thread! It's so important for xda having people around which actually explain and give knowledge to others! This is how a community should work! Great work! :good:
P.S.: Also thanks for giving me credit. That's not to be taken for granted. When I search the web for the unfortunate typo in my posting "on Android the current forefround application" I find a lot of resources which simply copied my words and often did not give any credit. So I appreciate this very much!
@androcheck
Thanks for the encouragement..
nice tutorial with full descriptions...great..:good:
This is wonderfull! I will add this to the tutorial Index this weekend
mrjraider said:
This is wonderfull! I will add this to the tutorial Index this weekend
Click to expand...
Click to collapse
Thanks. That's nice of you
thx u very much for the detailed explanation, gonna try ur recommended values later
great bro can be a sticky thread
mrhnet said:
Just in case..
Click to expand...
Click to collapse
Nice thread dude.
Now I'm glad that I had patience with your patching issues lol
However I don't think I have the patience to go into every tiny detail which is why I link to @androcheck 's thread in my original Supercharger OP (which is now post #3)
And you may find useful the new tool that I'm finally on the verge of releasing...
androcheck said:
Hi @mrhnet: I got pinged by your mention of my username. Thank you for this valuable thread! It's so important for xda having people around which actually explain and give knowledge to others! This is how a community should work! Great work! :good:
P.S.: Also thanks for giving me credit. That's not to be taken for granted. When I search the web for the unfortunate typo in my posting "on Android the current forefround application" I find a lot of resources which simply copied my words and often did not give any credit. So I appreciate this very much!
Click to expand...
Click to collapse
Yeah don't you hate that... personally I'm to lazy to copy other people's efforts and rather link to them while doing something new.
No sense in retreading a good tire
zeppelinrox said:
Yeah don't you hate that... personally I'm to lazy to copy other people's efforts and rather link to them while doing something new.
No sense in retreading a good tire
Click to expand...
Click to collapse
Thanks.
I didn't take any offense, if not I would have written it, someone else would have. In the end the knowledge has spread.
@zeppelinrox
I'm so glad about your comments on this thread. Thanks
Awaiting for your new works.. as always..
mrhnet said:
@zeppelinrox
I'm so glad about your comments on this thread. Thanks
Awaiting for your new works.. as always..
Click to expand...
Click to collapse
Soon.
It's done but gotta write up an OP
Edit: Done http://goo.gl/9H58pS
This is a great thread, you've explained everything very well. :good:
In my experience, RAM management works best if I set very low LMK values, like this. Anything higher means processes will get closed sooner.
Multitasking is good with this, not very good, though, because this is a Sony ROM, but still way better than higher values.
But be warned, using these values on stock 4.3 made it unstable for me, but it works on stock 4.1 without any problems.
Also, I've read on some sites that Sony will release Kitkat for the SP in June, and Kitkat has ZRAM enabled and also some other memory management-helping changes are made by Google. So I really hope it will be released for our device.
Edit (05.23): Well, it seems after a few days of testing, that these low values don't do anything good. The phone slows down a lot. So, this post might be considered pointless. Anyway, it was a good experiment.
I found one thing: in /proc/meminfo it shows more than 200 MB at Cached, but the launcher still redraws when i press Home in Chrome, and sometimes when going back from minfree manager (while chrome is running). So why doesn't the system utilize the Cached memory instead? I see that you, mrhnet, have 78 MB cached on one of the screenshots... Is this some sort of ram management bug in the stock 4.1 or what?
Lajbymester said:
I found one thing: in /proc/meminfo it shows more than 200 MB at Cached, but the launcher still redraws when i press Home in Chrome, and sometimes when going back from minfree manager (while chrome is running). So why doesn't the system utilize the Cached memory instead? I see that you, mrhnet, have 78 MB cached on one of the screenshots... Is this some sort of ram management bug in the stock 4.1 or what?
Click to expand...
Click to collapse
200mb cached means it's included in "free RAM". But it changes according to RAM demand/usage by apps. (Give "watch cat /proc/meminfo" command [without quotes] in a terminal to see; "watch" command runs what comes after that every 2 seconds). Maybe, by the time you switch from Chrome to terminal, Cached amount might have changed. (I think Chrome is a memory hog btw; haven't used it much).
If you really want to see what was in meminfo while chrome is on, I suggest to "record" meminfo values to a file real-time. Can do like this:
*Open terminal emulator
*go to /sdcard
Code:
cd sdcard
*append output of meminfo to a file every 2 seconds
Code:
watch cat /proc/meminfo >> memlog.txt
*leave terminal emulator in background and do whatever in chrome. Meminfo values should be recording in the background; terminal is not easily shutdown because it has a notification (apps having a notification saying that it's running has a high priority I think).
*then come back to terminal emulator and do a "ctrl+c" to break the recording (see terminal settings to know what's assigned as ctrl button)
*now you have a memlog.txt file in sdcard with meminfo output every 2 seconds (might look overwhelming ). If 2 seconds is too frequent, can adjust "watch" command accordingly (eg: watch -n 10 cat /proc/meminfo). Just give "watch" command to see it's usage.
You can go through that file leisurely to see how Cached etc have changed with time. Can filter with "grep" to avoid other gibberish.
Eg:
Code:
grep -w Cached: memlog.txt
This command outputs only the "Cached:" line in the file. [Remember: everything is case sensitive in Linux]. You can even write that output to another file for ease (can do for other values also):
Code:
grep -w Cached: memlog.txt >> Cached.txt
grep -w MemFree: memlog.txt >> MemFree.txt
grep -w Buffers: memlog.txt >> Buffers.txt
Then can go through these files leisurely to see min/max values. I think you can do lot of things with "grep". A Linux geek might even arrange these data to make a graph! @zeppelinrox is the man for this I think
Thanks for the very detailed reply
Actually I was doing the "cat /proc/meminfo" command on the computer using adb on the computer, so switching apps wouldn't interfere. ("watch cat /proc/meminfo" doesn't work for some reason, it doesn't output anything but the actual date). And while looking at Chrome with 2 heavy desktop websites, it was showing ~220 MB at Cached. It doesn't ever go below 180 MB...
Ok.
Dunno exactly what's wrong there.. Just remembered a part from kernel sources I've mentioned in OP:
The driver considers memory used for caches to be free, but if a large
* percentage of the cached memory is locked this can be very inaccurate...
Click to expand...
Click to collapse
Maybe part of Cached is "locked"?? Can do a reboot and see whether the situation persists (if not done already).

[ROOT] Advanced Tuning

This thread is for the fortunate subset of 5th Gen Fire devices that are rooted and rocking a custom ROM. It should also work on rooted FireOS (5.3.1 and below) that have both ads and OTA updates blocked.
There have been numerous posts regarding uneven performance while multitasking along with sluggish response after waking the device from a long slumber. Most recognize this is due to excessive swapping associated with limited user addressable RAM. While there are a number of incremental 'tweaks' that can marginally improve this behavior my objective was to realize a more substantial improvement with minimal effort, knob turning and side effects. To date I have realized the benefit (minimal lag; responsiveness approaching devices with twice the RAM; woohoo!) but still working on the automation that will make it largely transparent. Lacking the time to work on the latter I thought it best to toss out the high level config and let others, if interested, work through both validation and implementation details.
As an aside, I have used the same technique on a 2nd gen HD running CM 11 that had been shelved for many months due to the same issues. It now hums along at a respectable pace and is once again a joy to use.
The secret sauce is simple: expand zram space allocation and add a small, secondary swap file in a normally unused location in permanent storage.
Tools (or adb/shell/terminal commands for those with furry chests):
- EX Kernel Manager (EXKM) or other tool/technique that can manage zram parameters (note: I find current builds of Kernel Adiutor too unstable for this work)
- Apps2SD Pro or other tool/technique that can create/manage traditional swap files and swap space priorities
- BusyBox Installer (v1.27.2+) or other tool/technique to insure startup scripts are properly executed
- L Speed (optional) - for ease of implementing a few discretionary performance tweaks
- DiskInfo PRO (optional) - visualize partition utilization
- RAM Truth (optional) - simple app to visualize RAM utilization
Technique (highly abbreviated):
- boot device to rooted ROM; install above tools or equivalents
- use EXKM to resize zram to 128 MB (note: zram must be temporarily disabled)
- use Apps2SD to:
* add a static, 128 MB swap file in the cache partition which remains largely unused with custom ROMs
* important: reassign swap file priorities (button at top right): 0 for the static file; 1 for zram
* increase swappiness to 100 if necessary (EXKM can also be used to set swappiness and other VM parameters)
* verify both swap spaces are enabled via sliders​
Note to geeks: I understand how swappiness, vcache pressure and other virtual memory tunings really work; let's not debate that here. Same with the merits of running a static swap file in combination with zram or the 'dangers' of placing that file in the volatile cache partition. We're talking a hand held device with very modest resources...not the server room with a 99.9x SLA. Yes, zswap would be better. However ...
Optional tweaks:
- use EXKM or L Speed to set LMK parameters to: 24, 32, 40, 48, 56, 64
- use EXKM or L Speed to set write deferral (aka 'laptop mode') to 5 sec
- toggle KSM off/on in L Speed (sets performance enhancing parameters)
- with zram disabled enable zram tweak in L Speed which will establish a 96 MB space along with other optimizations; I find the smaller size ideal for my workflow; YMMV zRAM size can be set with EXKM or another kernel manager.
Challenges:
While the options exist none of the tools noted above can reestablish custom zram space or automatically create a static swap file on boot. I believe this is a kernel issue but have not ruled out interference by Lineage 12.1 which is the ROM I have been testing with. Unfortunately, I lack the time (and quite frankly motivation) to toss Nexus or another ROM on to a spare device to verify the culprit. I might do a bit more testing my my HD 7 which uses a different kernel and ROM. --> Turns out an old version of BusyBox was the culprit; updating to 1.27.2 solved the problem allowing the suggested configuration to be automatically reestablished on reboot. I added my favorite BusyBox installer to the prerequisite tools.
Another issue is the potential for maintaining 'stale' annon pages in zram for a period of time but that's a left field item that probably won't effect most users. A quick fix is occasionally swiping away all apps.
Provide discussion/feedback in this thread. I may or may not respond depending on available time. I love a deep dive (shared above) but once the goal has been reached my interests move elsewhere.
Edit: struck-out references to L Speed after developer/maintainer acknowledged "cooperation" with Kingo Root team (borderline malware).
Quick follow-up: I continue to enjoy benefits noted in the OP with a dual cache configuration. Device remains responsive after waking and typically returns to 'full' performance within a few seconds. I can easily switch between a handful of apps (browser, mail, Play Store, XDA labs, etc) with minimal lag and context preservation; no reloading web pages after switching away. No notable impact on battery life. Really no disadvantages at all - at least with my work flows.
Regardless of tuning one has to keep in mind the modest hardware resources on Fire 7s. Load up a game or two or a couple heavy Amazon/Google apps and things go south pretty quick. That said, responsiveness far better than any stock config, even when the device is clearly overburdened.
Another quick note. Simply adding a classic swap file (suggest 128 GB) to the largely unused cache partition can yield a decent improvement in multi-tasking performance without the complexity of tinkering with zRAM. All steps can be accomplished with the free tool Apps2SD or equivalent. Happy to document if there is sufficient interest.
Note: Be sure to change zRAM swap priority to "1" so it receives preferential treatment over the classic swap file. zRAM will almost always be faster than classic swap but there is only so much if it. The swap file will be used once zRAM is fully utilized (not entirely accurate but generally true).
FWIW - depreciated references to L Speed app in OP after developer acknowledged "cooperation" with Kingo Root team. While nefarious behavior is unlikely there are other options that avoid any potential conflict of interest.
Davey126 said:
...
Technique (highly abbreviated):
- boot device to rooted ROM; install above tools or equivalents
- use EXKM to resize zram to 128 MB (note: zram must be temporarily disabled)
- use Apps2SD to:
* add a static, 128 MB swap file in the cache partition which remains largely unused with custom ROMs
* important: reassign swap file priorities (button at top right): 0 for the static file; 1 for zram
* increase swappiness to 100 if necessary (EXKM can also be used to set swappiness and other VM parameters)
* verify both swap spaces are enabled via sliders
Note to geeks: I understand how swappiness, vcache pressure and other virtual memory e)
Click to expand...
Click to collapse
When you say Cache partition for the swap file are you referring to "/cache" or the second partition for app2sd?
rjmxtech said:
When you say Cache partition for the swap file are you referring to "/cache" or the second partition for app2sd?
Click to expand...
Click to collapse
"/cache" partition which resides on faster internal storage. Anything on external storage will be significantly slower due to interface limitations.
@Davey126 it has been about a day or two and I can confirm that by following these instructions it has brought new life into my KFFOWI 5th gen. This paired with some L Speed Tweaks (even though you say not to trust them, I opted to use it for a few performance tweaks) and the Lineage ROM from @ggow makes my user experience on the device quite pleasing.
rjmxtech said:
@Davey126 it has been about a day or two and I can confirm that by following these instructions it has brought new life into my KFFOWI 5th gen. This paired with some L Speed Tweaks (even though you say not to trust them, I opted to use it for a few performance tweaks) and the Lineage ROM from @ggow makes my user experience on the device quite pleasing.
Click to expand...
Click to collapse
Thanks for the feedback.
As for L Speed I don't distrust the current developer/maintainer but no longer feel comfortable providing an implicit endorsement. Who you associate with makes a difference IMHO. Each person needs to make their own call. There is no magic in L Speed; it simply offers a convenient UI to various well publicized system 'tweaks' that can be implemented using other tools/techniques.
Davey126 said:
Optional tweaks:
- use EXKM or L Speed to set LKM parameters to: 24, 32, 40, 48, 56, 64
- use EXKM or L Speed to set write deferral (aka 'laptop mode') to 5 sec
- toggle KSM off/on in L Speed (sets performance enhancing parameters)
- with zram disabled enable zram tweak in L Speed which will establish a 96 MB space along with other optimizations; I find the smaller size ideal for my workflow; YMMV zRAM size can be set with EXKM or another kernel manager.
Click to expand...
Click to collapse
Thanks for the guide, it already seems to have helped a lot with smoothness but I wanted to know how to set these options using EXKM.
I'd never heard of the app before today and I've had a good look through the menus but can't seem to find somewhere to set these values. I'm guessing these are the usage % values used by the CPU governor to jump up and down power states?
NeuromancerInc said:
Thanks for the guide, it already seems to have helped a lot with smoothness but I wanted to know how to set these options using EXKM.
I'd never heard of the app before today and I've had a good look through the menus but can't seem to find somewhere to set these values. I'm guessing these are the usage % values used by the CPU governor to jump up and down power states?
Click to expand...
Click to collapse
No, governor tunning is a different beast not addressed in the OP (although I do that on some higher end devices).
With regard to EXKM:
- LMK values can be set under memory -> low memory killer
- KSM toggle can also be found in the memory section
- it appears laptop mode can not be set in EXKM (not that important)
As an alternative to laptop mode you can twiddle 'dirty ratio' and 'dirty background ratio' in EXKM. Suggest setting to 30 and 15, respectfully.
Edit: you may also want to take a peek at Kernel Adiutor (correct spelling). While I find it a bit flaky it exposes more controls vs EKKM and costs less too.
Davey126 said:
No, governor tunning is a different beast not addressed in the OP (although I do that on some higher end devices).
With regard to EXKM:
- LMK values can be set under memory -> low memory killer
- KSM toggle can also be found in the memory section
- it appears laptop mode can not be set in EXKM (not that important)
As an alternative to laptop mode you can twiddle 'dirty ratio' and 'dirty background ratio' in EXKM. Suggest setting to 30 and 15, respectfully.
Edit: you may also want to take a peek at Kernel Adiutor (correct spelling). While I find it a bit flaky it exposes more controls vs EKKM and costs less too.
Click to expand...
Click to collapse
Ah, LMK, not LKM. Thanks again.
Also, just a small suggestion but wouldn't it be better to remove the references to L-Speed and leave an edit message at the bottom rather than having the red, striked through text in the middle?
NeuromancerInc said:
Ah, LMK, not LKM. Thanks again.
Also, just a small suggestion but wouldn't it be better to remove the references to L-Speed and leave an edit message at the bottom rather than having the red, striked through text in the middle?
Click to expand...
Click to collapse
Thanks for noting LKM/LMK typo in OP - fixed that.
I will likely clean-up the OP at some point as there are other refinements (eg: tweaking dirty ratios) that may prove beneficial to a larger community.
Davey126 said:
Thanks for noting LKM/LMK typo in OP - fixed that.
I will likely clean-up the OP at some point as there are other refinements (eg: tweaking dirty ratios) that may prove beneficial to a larger community.
Click to expand...
Click to collapse
I was wondering what differences need to be made for a 7th gen hd 10. I know this guide is written for a 5th gen (1gig RAM, 8 gig drive), but I have a 7th Gen (2gig RAM, 32GIG drive) with 2gig zram (priority 1) and 4 gig swap on the /data partition (priority 2). What would be the best LMK values? Also, is it ok to have the swap on /data vs /cache (my /cache only has 400mb)?
Thanks for any help!
edit: in the OP, it says to set laptop mode using L-speed, and then L-speed is crossed out (I understood why), but no alternative is listed for doing this. I just wanted to add that you can use kernel adiutor to change laptop mode. It's on virtual memory settings.
mistermojorizin said:
I was wondering what differences need to be made for a 7th gen hd 10. I know this guide is written for a 5th gen (1gig RAM, 8 gig drive), but I have a 7th Gen (2gig RAM, 32GIG drive) with 2gig zram (priority 1) and 4 gig swap on the /data partition (priority 2). What would be the best LMK values? Also, is it ok to have the swap on /data vs /cache (my /cache only has 400mb)?
Thanks for any help!
edit: in the OP, it says to set laptop mode using L-speed, and then L-speed is crossed out (I understood why), but no alternative is listed for doing this. I just wanted to add that you can use kernel adiutor to change laptop mode. It's on virtual memory settings.
Click to expand...
Click to collapse
It appears you have priorities reversed. Higher values receive preference. The magnitude of the difference is irrelevant. zRAM is considerably faster than eMMC based storage; the latter should only be used when zRAM is exhausted or momentarily unavailable for whatever reason.
The container sizes also seem excessive. 2 GB of zRAM effectively leaves no uncompressed memory on a HD 10 which is highly inefficient. I wouldn't go over ¼ available RAM or ~½ GB. Toss in a 500 MB of eMMC based (overflow) swap file and you're good to go. If you regularly use more than 1 GB of swap on a relatively low end Android device then something else is amiss.
I am aware Kernel Adiutor can set laptop mode but did not want to introduce another tool into the mix...especially one that has demonstrated inconsistent behavior. FWIW - recent testing suggests 1-2 sec may be a better choice vs the 5 sec mentioned in the OP as the latter may trigger lockouts during sustained writes (eg: large file download on a fast connection). I currently use 1 sec and happy with the results. I will likely update the OP with this info once satisfied that the benefit is worth the effort.
All things being equal I see no reason to change LMK values suggested in the OP. Especially given the availability of zRAM and swap.
Thanks for these instructions, Davey126!
I just tried this process on my 5th Gen Fire 7" which I recently installed with the LineageOS ROM. I was not familiar with the EX Kernel Manager and Apps2D Pro tools, but it was reasonably clear how to make the settings changes you recommend.
I added the 128Mb swap under /cache and increased the zram swap to 128Mb, setting it to priority 1. Maybe it's my imagination but my device does seem a lot snappier when switching between running applications, and better at returning to previously displayed data in applications instead of reloading pages.
Cheers!
Matrey_Moxley said:
Thanks for these instructions, Davey126!
I just tried this process on my 5th Gen Fire 7" which I recently installed with the LineageOS ROM. I was not familiar with the EX Kernel Manager and Apps2D Pro tools, but it was reasonably clear how to make the settings changes you recommend.
I added the 128Mb swap under /cache and increased the zram swap to 128Mb, setting it to priority 1. Maybe it's my imagination but my device does seem a lot snappier when switching between running applications, and better at returning to previously displayed data in applications instead of reloading pages.
Cheers!
Click to expand...
Click to collapse
Thanks for sharing first impressions. Time will tell if the benefits are durable; certainly have been for me with no adverse side-effects.
Another suggestion to reduce wake lag: install Greenify (or similar tool) and add commonly used apps to the action list even if not flagged as background abusers (you may need to override Greenify's sensible defaults via the gear icon). This prevents multiple apps from becoming simultaneously 'active' on wake which is a huge contributor to lag on lower end devices with limited resources (CPU and RAM). Hibernated apps will launch when needed with minimal delay and NO loss of context. Works a treat.
Be sure to add your favoriate browser, mail, messaging and social media apps to the hibernation list as all like to 'check in' after a long slumber.
Although Greenify can auto-hibernate apps on most devices (works best with Xposed Framework) I use an automated approach that invokes Greenify's widget when the screen goes off. There's still some momentary lag on wake but the device remains responsive which is a huge improvement.
Hi Davey126,
thx for the guide, it seems to work awesome.
However, i have the one problem thats the settings in EXKM regarding to "zRAM Size", "dirty ratio" and "dirty background ratio" are lost after rebooting the device. Is there a way to make the settings reboot proof? Interestingly for the "LKM" settings there is an option "Apply at bootime", which does the trick for me, but only for the LKM options.
Kind regards,
Stephan
IronMan1977777 said:
Hi Davey126,
thx for the guide, it seems to work awesome.
However, i have the one problem thats the settings in EXKM regarding to "zRAM Size", "dirty ratio" and "dirty background ratio" are lost after rebooting the device. Is there a way to make the settings reboot proof? Interestingly for the "LKM" settings there is an option "Apply at bootime", which does the trick for me, but only for the LKM options.
Kind regards,
Stephan
Click to expand...
Click to collapse
Likely BusyBox is missing or outdated. Try installing this (I use the pro version).
Davey126 said:
Likely BusyBox is missing or outdated. Try installing this (I use the pro version).
Click to expand...
Click to collapse
Ok. I bought BusyBox Pro and updated to Version 1.28.1-Stericson. Still all settings in EXKM besides LMK get lost after rebooting the device ...
IronMan1977777 said:
Ok. I bought BusyBox Pro and updated to Version 1.28.1-Stericson. Still all settings in EXKM besides LMK get lost after rebooting the device ...
Click to expand...
Click to collapse
- verify BusyBox is property installed w/no conflicting builds
- uninstall/reinstall EXKM
- test if behavior can be duplicated with another (free) kernel manager like KA

Categories

Resources