[LOS][SWAP][MEM] Snappier than ever - Moto Z Guides, News, & Discussion

NOTE: BEFORE SAYING "yet another memory swapping evangelist", WATCH THE VIDEO: https://youtu.be/sdeKuPiR4II
I have been doing some research on system responsiveness with my good old Mofo Z. Then arrived at this.
24 hours after having configured:
LineageOS 15.1 (root enabled)
Swap file size = 4GB (in /data/swap)
vm.swap_ratio = 100 (default)
vm.swap_ratio_enable = 1
vm.swappiness = 75
I have achieved the readings contained in the attached screenshots, and the system acts snappier than ever. It's actually running pretty cool.
First I enabled init.d processing by adding an RC file to init, then created userinit.sh with the necessary systcl and swapon commands.
No system files were changed (new files were added only), so after an update the configuration won't revert to the original state (swap-less).
The least used pages (some [almost] never used) are being written to the swap file and therefore more room for active code (and cached apps) is made available.
It's almost like I had an 8GB RAM bastard in my hand. This with around 130 apps loaded.
STEPS USED
File init_d.rc was created (as described in https://forum.xda-developers.com/lineage/general/how-to-enable-init-d-to-function-t3810355)
Executed:
Code:
$ su
# cd /data
# mkdir swap
# cd swap
# dd if=/dev/zero of=swapfile bs=1048576 count=4096
# mkswap swapfile
Created /data/local/userinit.sh (called from within already existing /system/etc/init.d/90userinit) with the code:
Code:
#!/system/sbin/sh
# vm_swap_ratio=100 is default, no need to set
sysctl vm.swap_ratio_enable=1
sysctl vm.swappiness=75
swapon /data/swap/swapfile
Rebooted and let the system run for a few hours. Things only get better with uptime/usage.
The best part is that you can unroot afterwards and have it still working.
Merry Christmas!

thanx 4 ur work but i m newbie i dont understand what is for , what makes this for this device

murteci said:
thanx 4 ur work but i m newbie i dont understand what is for , what makes this for this device
Click to expand...
Click to collapse
It's for making your device multitasking better. Watch the video: https://youtu.be/sdeKuPiR4II

Guess what? The Galaxy Note 9 (SM-N9600, 6GB/128GB version) employs memory swapping. It has a 2GB active swap file right out of the box.
I received mine last friday, updated Android and went to check it out after I noticed it behaved and reported much like LineageOS with my mod applied. Then I installed a terminal emulator (no root needed) and ran "free -m".
Bang! The swapping is there!
Can't wait to root it and verify that the swappiness is set to... 75. Kinda keen those Samsung guys, huh? Heheheh.

Whammamoosha said:
Guess what? The Galaxy Note 9 (SM-N9600, 6GB/128GB version) employs memory swapping. It has a 2GB active swap file right out of the box.
I received mine last friday, updated Android and went to check it out after I noticed it behaved and reported much like LineageOS with my mod applied. Then I installed a terminal emulator (no root needed) and ran "free -m".
Bang! The swapping is there!
Can't wait to root it and verify that the swappiness is set to... 75. Kinda keen those Samsung guys, huh? Heheheh.
Click to expand...
Click to collapse
Can Make this tutorial to Video Tutorial on Youtube ?

Whammamoosha said:
It's for making your device multitasking better. Watch the video:
Click to expand...
Click to collapse
it looks fantastic, but does it wear the internal storage after time?

JuniorCaesar said:
it looks fantastic, but does it wear the internal storage after time?
Click to expand...
Click to collapse
Yes it does, everything is a trade-off, there's no such thing as a free lunch.
But the wear level added is roughly same as on a computer SSD, so we're talking about decades of use before everything wears out.

emrebozkurt99 said:
Can Make this tutorial to Video Tutorial on Youtube ?
Click to expand...
Click to collapse
I could, but everything is so simple that it's pretty unnecessary.
. Install terminal emulator app from Play Store
. Run terminal emulator app
. Type "free -m"
. Done!
As for the swap configuration for LOS I'm writing a shell script (BIG) that will handle the configuration as user-friendly as possible. Stay tuned!

Could this be used on a stock rom as well?

SlashSpeed said:
Could this be used on a stock rom as well?
Click to expand...
Click to collapse
This is for LineageOS. For stock ROMs (once rooted) one may make the necessary adaptions.

im noob
Hi, im noob and I followed your instructions (at least what I understood) n_nU
I hope that I did it right, the question is, how can I know that?

old thread, but this may not work for most because the script has a slight error:
Code:
#!/system/sbin/sh
It should be:
Code:
#!/system/bin/sh
then all is well.

justle said:
im noob
Hi, im noob and I followed your instructions (at least what I understood) n_nU
I hope that I did it right, the question is, how can I know that?
Click to expand...
Click to collapse
https://gist.github.com/iGlitch/be70d403ad1cfa42ac7e1d46f1b546db Amend a script to a script to track whether or not it executes. Note: You need to manually create the log folder and logs file in /storage/emulated/0 in order for it to work.
Code:
# Push a semi-needed log to the internal storage with a "report" if the script could be executed or not;
# Script log file location
LOG_FILE=/storage/emulated/0/logs
echo $(date) > /storage/emulated/0/logs/script.log
if [ $? -eq 0 ]
then
echo "Script executed. Enjoy!" >> /storage/emulated/0/logs/script.log
exit 0
else
echo "Script failed!" >> /storage/emulated/0/logs/script.log
exit 1
fi
# Done!

Thanks! Worked like a charm.
I use a bunch of fat apps and this caused a few seconds of load times with almost every app switch.
I'm running LOS 17.1 on gemini with 3GB RAM; swap file defaults to 0.5GB.
I've left
Code:
vm.swap_ratio_enable = 0
vm.swappiness = 60
as it was. Simply adding a new 4GB swap file fixed my daily pain.

I have to provide an update on the charm part. (I've tried other settings from first post too).
Previously system was stuck at fully utilized 500 MB default swap. Every app change (I'm using hungry ones) was a pain.
Now system uses ~300 MB more in swap, and for some use cases user experienced have gotten bettter.
I don't feel like this mode would be complete without changing app killer configuration. Would it even be efficient considering the memory read speed in mi5 (or at all)? Idk.
Bottom line.
If you are unhappy with the performance of your hardware and it's because of RAM and your system are using 100% of swap, then it is probably worth increasing the paging file size.

SyraAB said:
Thanks! Worked like a charm.
I use a bunch of fat apps and this caused a few seconds of load times with almost every app switch.
I'm running LOS 17.1 on gemini with 3GB RAM; swap file defaults to 0.5GB.
I've left
Code:
vm.swap_ratio_enable = 0
vm.swappiness = 60
as it was. Simply adding a new 4GB swap file fixed my daily pain.
Click to expand...
Click to collapse
Hi SyraAB.
I am glad that you successfully create swap and make swap service work, which I think now you are the only one who can solve my problems.
So I did every step that Whammamoosha said. However, I failed. When I check whether there was swap created using free -m in Termux there was nothing. Then I dig something out from some research. Here is my question:
1)
Whammamoosha said:
Created /data/local/userinit.sh (called from within already existing /system/etc/init.d/90userinit) with the code:
Click to expand...
Click to collapse
It appears that I don't have file 90userint under /system/etc/init.d (by the way I believe Whammamoosha meant /system/etc/init here because init.d does not exist in android). Also I notice your ROM is Lineage OS 17.1, which is the same as mine. So I am curious how did you make that work without file 90userinit.
2)
To my best knowledge that sysinit is killed in Los 17.1. There is a post on Reddit regarding to enable init.d on Los 17.1. Link is here. What makes me more curious is that how did you manage to make all things work without some key files? If you don't mind could you tell me how did you successfully create swap?
My phone is HTC m8 running on Lineage os 17.1.
Thanks in advance

Hello mrdet,
I didn't configure applying new swap on startup at all, so I didn't dance around absent init.d.
Increasing the paging file consist of two steps.
1. Create a file to be used as swap. This needs to be done once, as file persist after reboot.
Spoiler: mkswap example
Bash:
cd /data
mkdir swap
cd swap
# create swap file
dd if=/dev/zero of=swapfile bs=1048576 count=4096
mkswap swapfile
2. Activate it. This needs to be done after every reboot.
Spoiler: swapon example
Bash:
swapon /data/swap/swapfile
Hope this helps.

Related

Tweak Android for Performance, and increase battery by Saving Power Usage with Sysctl

Here I will post tweaks as I find them to optimize Android.
When echoing in the following sysctl settings they do not remain after reboot, so we can adb remount then create a sysctl.conf file on our pc's with these settings, then ./adb push sysctl.conf /etc/ then the kernel should apply the settings every reboot
For examples of a sysctl.conf use google: Sysctl.conf Examples
Open a Terminal and Execute these commands as root
Tweak virtual memory to conserve power when running on battery:
Code:
echo 0 > /proc/sys/vm/swappiness #can be ignored if you dont use swap
echo 0 > /proc/sys/vm/dirty_expire_centisecs #can be ignored if you dont use swap
echo 0 > /proc/sys/vm/dirty_writeback_centisecs #can be ignored if you dont use swap
echo 60 > /proc/sys/vm/dirty_background_ratio
echo 95 > /proc/sys/vm/dirty_ratio
Tweak virtual memory for running on Charger
Code:
echo 0 > /proc/sys/vm/swappiness #can be ignored if you dont use swap
echo 3000 > /proc/sys/vm/dirty_expire_centisecs #can be ignored if you dont use swap
echo 500 > /proc/sys/vm/dirty_writeback_centisecs #can be ignored if you dont use swap
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 40 > /proc/sys/vm/dirty_ratio
Detecting apps/services that hog the battery/cpu:
Also while on battery, you should stop all applications that don't really stay idle when you're not using them, if you want to find which apps arent really staying idle you can:
Code:
strace -p $(pidof yourapp) # for all your running applications
ps aux | awk '{print$10,$11}' | sort -n # will list all running softs sorted by used cpu time
By default when Linux runs out of memory it goes through the process list and starts killing off processes that it thinks are using too much memory. This sysctl makes Linux kill the runaway process that made the system run out of memory instead, which is usually what you want.(this will also reduce cpu time and increase battery usage).
Code:
sysctl -w vm.oom_kill_allocating_task=1
Credit: ccpp0
vfs_cache_pressure to 10 , gives more mem to cache fs dentry and inode to save cpu
At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.
Code:
sysctl -w vm.vfs_cache_pressure=10
I'll be adding more tweaks for sysctl and basic cmd line tweaks as I find them, also these tweaks would be good integrated into roms, apps, and a power-save widget if anyone wants to get creative.
a few questions
do i enter this into the terminal emulator? also does this only need to be entered in one time? thank you in advance for any help.
great find.. will keep my eye on this thread
david1171 said:
do i enter this into the terminal emulator? also does this only need to be entered in one time? thank you in advance for any help.
Click to expand...
Click to collapse
yes you can enter it in via terminal emulator or ./adb shell, the echo'd settings are not permanent and will reset after reboot, so use the settings to test, then follow the directions to create a /etc/sysctl.conf file to make the settings permanent after you feel comfortable with the settings(if you notice improvement)
defcon
Wow, this is cool, thank you!
Could you maybe add some more comments, I don't really understand what the single commands do. Or some place, where the function of e.g. "dirty_expire_centisecs" is explained?
One more precise question though: If I don't have a swap file on sd, does the tweaking of the swappiness still change anything?
Greetings!
free-sidux said:
Wow, this is cool, thank you!
Could you maybe add some more comments, I don't really understand what the single commands do. Or some place, where the function of e.g. "dirty_expire_centisecs" is explained?
One more precise question though: If I don't have a swap file on sd, does the tweaking of the swappiness still change anything?
Greetings!
Click to expand...
Click to collapse
there is no swap space on G1, so settings related to the swap can be ignored.
echo 0 > /proc/sys/vm/dirty_expire_centisecs
echo 0 > /proc/sys/vm/dirty_writeback_centisecs
never writes out dirty pages ?
free-sidux said:
Wow, this is cool, thank you!
Could you maybe add some more comments, I don't really understand what the single commands do. Or some place, where the function of e.g. "dirty_expire_centisecs" is explained?
One more precise question though: If I don't have a swap file on sd, does the tweaking of the swappiness still change anything?
Greetings!
Click to expand...
Click to collapse
http://tinyurl.com/nlb9ws
Note: The value of vm.swappiness=0 states that no swap space will be used at all, basically it can be ignored if you dont use swap though
defconoi said:
http://tinyurl.com/nlb9ws
Note: The value of vm.swappiness=0 states that no swap space will be used at all, basically it can be ignored if you dont use swap though
Click to expand...
Click to collapse
set vfs_cache_pressure to 10 , gives more mem to cache fs dentry and inode to save cpu "wa".
how do i create a Sysctl.conf file with this script?
i tried the link of examples but all i could find was info about it.
everything else works but when i try
sysctl vm.block_dump=1
i get sysctl: error: 'vm.block_dump=1' is an unknown key
any ideas?
actually ya know what I think we can just disable sysctl all together in menuconfig->Filesystems->Pseudo Filesystems->Proc->Sysctl Support when compiling a new kernel and setting these tweaks right in the kernel.
Says in menuconfig"As it is generally a good thing, you should say Y here unless
building a kernel for install/rescue disks or your system is very
limited in memory."
So I think we can gain some memory disabling this since we dont really need it
disable /dev/mem
Also I think we can disable the Memory Device Driver, /dev/mem, it says it can be disabled for security conscious and can be disabled on memory tight systems, which we are definitely memory tight plus there's just no valid app that uses /dev/mem on actual memory.
Other popular users of /dev/mem are rootkits and the like.
(note: mmap access of memory via /dev/mem was already not allowed since
a really long time)
People who want to use /dev/mem for kernel debugging can enable the config
option.
tshizzle said:
how do i create a Sysctl.conf file with this script?
i tried the link of examples but all i could find was info about it.
everything else works but when i try
sysctl vm.block_dump=1
i get sysctl: error: 'vm.block_dump=1' is an unknown key
any ideas?
Click to expand...
Click to collapse
I have the same exact questions that u do
Unix98_ptys
Also do we really need UNIX98_PTYS enabled?
We can also use this to conserve memory if we dont need this as well...
menuconfig says:
"Unix98 PTY support UNIX98_PTYS
A pseudo terminal (PTY) is a software device consisting of two
halves: a master and a slave. The slave device behaves identical to
a physical terminal; the master device is used by a process to
read data from and write data to the slave, thereby emulating a
terminal. Typical programs for the master side are telnet servers
and xterms.
Linux has traditionally used the BSD-like names /dev/ptyxx for
masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
has a number of problems. The GNU C library glibc 2.1 and later,
however, supports the Unix98 naming standard: in order to acquire a
pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
terminal is then made available to the process and the pseudo
terminal slave can be accessed as /dev/pts/<number>. What was
traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
All modern Linux systems use the Unix98 ptys. Say Y unless
you're on an embedded system and want to conserve memory."
jroid said:
I have the same exact questions that u do
Click to expand...
Click to collapse
ahhhh it looks vm.block_dump=1 isnt a valid sysctl option, disregard that, gonna remove it from the first post
defconoi said:
ahhhh it looks vm.block_dump=1 isnt a valid sysctl option, disregard that, gonna remove it from the first post
Click to expand...
Click to collapse
yea. all the other ones work though. how would we make the file??
jroid said:
yea. all the other ones work though. how would we make the file??
Click to expand...
Click to collapse
adb remount
create sysctl.conf on your system
then adb push sysctk.conf /etc and the settings will be set every reboot.
defconoi said:
adb remount
create sysctl.conf on your system
then adb push sysctk.conf /etc and the settings will be set every reboot.
Click to expand...
Click to collapse
ok so it would be something like this?
adb remount
adb shell
mkdir /system/sysctl.conf
adb push sysctl.conf /system/etc
jroid said:
ok so it would be something like this?
adb remount
adb shell
mkdir /system/sysctl.conf
adb push sysctl.conf /system/etc
Click to expand...
Click to collapse
no, adb push sysctl.conf /etc
this isn't working. i created the dir sysctl.conf in /system then tried adb pushing it but says no such file or dir. then i tried in adb shell cp /system/sysctl.conf /etc
it says cp: omitting sysctl.conf is a directory"
couldnt i just create it directly in /etc?
like this mkdir /system/etc/sysctl.conf
defconoi said:
no, adb push sysctl.conf /etc
Click to expand...
Click to collapse
on android /etc is within the /system/etc directory.

Cyanogized Compache nocturna.JacHeroz (jachero 2.7.3MOD with compache support)

THIS HAS NOTHING TO DO WITH JAC 2.7.4 This is different!!
JacHeroski cyanagized with compache swap
07/21/09 1:27PM
download rename to update.zip and put on the phone flash as normal requires special spl and new radio
also requires ext2/3 swap and linux swap partitions
Nocturna.JacHeroZ cyanogized 1.0b
Much thanks to: justanothecrowd,cyanogen,ccyrowski,haykuro,jesufreke,D.b. hates you,drizzydrakerogers,h.nocturna, and jasherai
H.NOCTURNA! thanks for those .ko files or i wouldve been up till like 5 am looking
Im at work right now so i cant really put this all together quite yet but ill give you the rundown of how it will be done
if you dont wanna use the precompiled update.zip to avoid wipe
First download and flash Jachero 2.7.3
Then download jacheroski 1.4c and unzip in the folder you will need to things the "boot.img" in the main folder then jump into the /system folder and go ahead and copy the "modules" folder as well then open up /system/lib/modules/ and copy the wlan.ko
also youll need /system/bin/a2sd.sh
you should have 4 files pulled from this rom:
Modules
Boot.img
wlan.ko
a2sd.sh
heres what you do with those things:
Take modules and
adb push modules /system/modules/
take boot.img
adb push boot.img /sdcard/
wlan.ko
adb push wlan.ko /system/lib/modules
then please check this post and download the .ko files zipped attached to post
right here!!!
youll need to put these two files onto /system/modules/
one should be ramzswap.ko and xvmalloc.ko
Now for the a2sd.sh .. this script is ran on boot to do apps2sd but you can add to the end of it wich is what we are going to do
you will need to open this i used a word processor on my mac so it worked i duno about windows but you need to add these lines of code and then save it as a seperate document KEEP THE ORIGINAL!
#!/system/bin/sh
insmod /system/modules/xvmalloc.ko;
insmod /system/modules/ramzswap.ko memlimit_kb=32000 backing_swap=/dev/block/mmcblk0p3;
mknod /dev/ramzswap0 b 253 0;
echo 20 > /proc/sys/vm/swappiness;
swapon /dev/ramzswap0;
exit;
THEN adb time agian
adb push a2sd.sh /system/bin/
adb shell chmod 755 /system/bin/a2sd.sh
ok after this is done we need to change over to cyanogens boot.img wich contains his kernel that works with compache
so you either need to do this in adb or in terminal from the phone
$su
#flash_image boot /sdcard/boot.img
#exit
$exit
bingo bango cyanogized now!
ok now its time to reboot the phone
should start up as normal "may take a bit the first boot"
after fully booting up open up terminal app and type the following
$su
#free
(this should display your swap line with numbers in it)
IF YOU GET ZEROS HERE STOP WHAT YOUR DOING AND SKIP TO THE BOTTOM FOR INSTRUCTIONS TO FIX THAT
if you dont get zeros everything is going good
now type the following
$su
#cat /proc/ramzswap
you should get a list of things if it says not found stop what your doign skip to the bottom for instructions to fix it
if it gave you a list of numbers great everythings good enjoy your new faster jachero!
IF YOU GOT ZEROS IN YOUR SWAP LINE OR NO READING FOR ramzswap!!!
Do the following,
take your original a2sd.sh and get in adb
adb push a2sd.sh /system/bin/
adb shell chmod 755 /system/bin/a2sd.sh
adb shell reboot
now....
i suggest doing this in adb but you can type it all in terminal if you want...
type the following to enable compache
$su
#insmod /system/modules/xvmalloc.ko
##insmod /system/modules/ramzswap.ko memlimit_kb=32000 backing_swap=/dev/block/mmcblk0p3
#mknod /dev/ramzswap0 b 253 0
#echo 20 > /proc/sys/vm/swappiness
#swapon /dev/ramzswap0
#cat /proc/ramzswap
should show a list of numbers probably all at 0.. this is good
reboot phone now (the insmod and swap on stick after reboot)
tada!!
whenever i get off work ill compile this and post the update.zip for those who dont feel like doing this much work
this is not a SUPER customized rom or anything i just put together pieces i wanted to enable the compache swap on this... i feel it increases responsivness ALOT and alot smoother interface using compache and linux swap
lmk about any bugs or anything
h.nocturna said:
I actually have my update.zip completely finished. I threw it together last night, but I lost multi-touch as well as the weather update for the "Current City" everywhere else would update, but it would say no weather information for my current location. =/ I can throw the update.zip up if you guys want. I have basically the exact same changes that Zarboz had since I followed his instructions... lol
EDIT: Uploading now...
http://depositfiles.com/files/k449ghyxq
If anyone knows how to fix the weather problem or get multi-touch back, let me know and I'll update, and resign for you guys.
Compcache set up: push userinit.sh from zip to /system/sd/
-or-
Code:
#!/system/bin/sh
insmod /system/sd/xvmalloc.ko;
insmod /system/sd/ramzswap.ko memlimit_kb=32000 backing_swap=/dev/block/mmcblk0p3;
mknod /dev/ramzswap0 b 253 0;
echo 20 > /proc/sys/vm/swappiness;
swapon /dev/ramzswap0;
exit;
Click to expand...
Click to collapse
'
TODO LIST!
Multitouch on Cyanogens kernel
optimize compache script on boot (reading jasherais posts like crazy)
wow thanks for this, will wait for ya update.zip! out of curiosity, how much automation will your update.zip have? example, after flashing with Jachero 2.7.3, will your update.zip take care of everything else?
trying this now, will report back if it works after im done
Edit: ill quickly compile an update.zip for this, might take a while to upload though
the only problem i encountered when i did this was editing the a2sd.sh and getting it to work after i put it back in the system
if you have to get into terminal and do
su
chmod 755 /system/bin/a2sd.sh
exit
just to be safe
this script also enables the linux swap partition on boot
so your using compache highspeed swap as piramry and linux swap as secondary the compache swap is stored on your ext2/3 partition
Zarboz said:
the only problem i encountered when i did this was editing the a2sd.sh and getting it to work after i put it back in the system
if you have to get into terminal and do
su
chmod 755 /system/bin/a2sd.sh
exit
just to be safe
this script also enables the linux swap partition on boot
so your using compache highspeed swap as piramry and linux swap as secondary the compache swap is stored on your ext2/3 partition
Click to expand...
Click to collapse
I wish I wasn't at work so that I could do this right now!! I guess that I will have to wait a few hours (Plus by then I'm sure someone will have an update to flash. If not I'll make on when I get home and upload it)
i'm gonna try this now. will report back
Diceman4 said:
I wish I wasn't at work so that I could do this right now!! I guess that I will have to wait a few hours (Plus by then I'm sure someone will have an update to flash. If not I'll make on when I get home and upload it)
Click to expand...
Click to collapse
yah when i get off a t 9pm central time ill make a update.zip and get it put up somewhere
I actually have my update.zip completely finished. I threw it together last night, but I lost multi-touch as well as the weather update for the "Current City" everywhere else would update, but it would say no weather information for my current location. =/ I can throw the update.zip up if you guys want. I have basically the exact same changes that Zarboz had since I followed his instructions... lol
EDIT: Uploading now...
http://depositfiles.com/files/k449ghyxq
If anyone knows how to fix the weather problem or get multi-touch back, let me know and I'll update, and resign for you guys.
Compcache set up: push userinit.sh from zip to /system/sd/
-or-
Code:
#!/system/bin/sh
insmod /system/sd/xvmalloc.ko;
insmod /system/sd/ramzswap.ko memlimit_kb=32000 backing_swap=/dev/block/mmcblk0p3;
mknod /dev/ramzswap0 b 253 0;
echo 20 > /proc/sys/vm/swappiness;
swapon /dev/ramzswap0;
exit;
NguyenHuu said:
wow thanks for this, will wait for ya update.zip! out of curiosity, how much automation will your update.zip have? example, after flashing with Jachero 2.7.3, will your update.zip take care of everything else?
Click to expand...
Click to collapse
itll basically be 2.7.3 wiht some minor structure changes
all i really did was add compache support i didint rewrite the whole thing
h.nocturna said:
I actually have my update.zip completely finished. I threw it together last night, but I lost multi-touch as well as the weather update for the "Current City" everywhere else would update, but it would say no weather information for my current location. =/ I can throw the update.zip up if you guys want. I have basically the exact same changes that Zarboz had since I followed his instructions... lol
EDIT: Uploading now...
Click to expand...
Click to collapse
sweet lmk when it gets up and ill put a link on main page
i might crack it open and do some other minor changes i might know why the current city isnt working
##edit## it works on mine .......
MULTITOUCH WILL NOT WORK ON THIS BUILD! due to cyanogens kernel
i dont use it anyway....
lmk when its up
Zarboz said:
sweet lmk when it gets up and ill put a link on main page
i might crack it open and do some other minor changes i might know why the current city isnt working
##edit## it works on mine .......
lmk when its up
Click to expand...
Click to collapse
Its up now. Out of curiosity, do you still have multi-touch on yours?
EDIT: HAHAHAHAHA!! Looks like we got one-upped. JACHero2.7.4 w/ compcache is being uploaded now.
h.nocturna said:
Its up now. Out of curiosity, do you still have multi-touch on yours?
EDIT: HAHAHAHAHA!! Looks like we got one-upped. JACHero2.7.4 w/ compcache is being uploaded now.
Click to expand...
Click to collapse
PSHH dangit
o well wahts the link ill still put it up
Zarboz said:
PSHH dangit
o well wahts the link ill still put it up
Click to expand...
Click to collapse
I added the link to my other post on page 1
h.nocturna said:
I actually have my update.zip completely finished. I threw it together last night, but I lost multi-touch as well as the weather update for the "Current City" everywhere else would update, but it would say no weather information for my current location. =/ I can throw the update.zip up if you guys want. I have basically the exact same changes that Zarboz had since I followed his instructions... lol ..snip..
Click to expand...
Click to collapse
I just set this up myself using the directions in the first post, and I can get weather info for my current location...
EDIT: And it flies now... Here's my info...
Code:
# free
free
total used free shared buffers
Mem: 97908 96472 1436 0 92
Swap: 94672 14208 80464
Total: 192580 110680 81900
# cat /proc/ramzswap
cat /proc/ramzswap
DiskSize: 32000 kB
NumReads: 1946
NumWrites: 3848
FailedReads: 0
FailedWrites: 0
InvalidIO: 0
PagesDiscard: 0
ZeroPages: 276
GoodCompress: 75 %
NoCompress: 7 %
PagesStored: 3572
PagesUsed: 1135
OrigDataSize: 14288 kB
ComprDataSize: 4510 kB
MemUsedTotal: 4540 kB
BombaMyte said:
I just set this up myself using the directions in the first post, and I can get weather info for my current location...
EDIT: And it flies now...
Click to expand...
Click to collapse
i think that rosie girl likes the compache dope makes her go real fast
My system is not utilizing compcache, instead preferring to use my swap. I'm now testing my system with swap partition disabled:
# swapoff /dev/block/mmcblk0p3;
coolbho3000 said:
My system is not utilizing compcache, instead preferring to use my swap. I'm now testing my system with swap partition disabled:
# swapoff /dev/block/mmcblk0p3;
Click to expand...
Click to collapse
The way h.nocturna coded the userinit.sh for this made it prefer compache over linux swap partition for speed issues then linux swap is secondary
lmk how it runs with no linux swap partition on
EDIT
my system didnt use the compache swap till after reboot then it was FAST
Zarboz said:
i think that rosie girl likes the compache dope makes her go real fast
Click to expand...
Click to collapse
LMAO! Hell yeah she likes that compcache dope! Got a friend that's been trying *not* to root his phone for a few months now. He will once he sees this...
BombaMyte said:
LMAO! Hell yeah she likes that compcache dope! Got a friend that's been trying *not* to root his phone for a few months now. He will once he sees this...
Click to expand...
Click to collapse
i need to change the scripting the swap is getting slow after a day or two there was some info in the compache thread about this ... ill let yall know whtas goin on
I realized you need to turn on the swap on sd after compcache has initialized.

[MOD] One stop for tweaks and other useful cool stuff

ok, from my android tweaking and playing around with all kinds of settings and other things i know it can be somewhat hard to find everything you might need to make the most of your android device so i will put links to them here along with providing support and my own little discoveries here...if anyone knows anything else that is cool or useful just post it and i'll update this post (btw these are tested on droid 1 only but many may apply to most android devices)
*Anyone who knows of any other tweaks/mods/scripts/useful terminal commands please feel free to post and i'll add it here (after testing it if possible)*
***disclaimer- I am not responsible for any damage you may do to your device, please make sure to have a backup before doing any of these tweaks***
first off how about a simple rooting/returning to stock guide?
quick root guide
1)download these files
http://www.motorola.com/staticfiles/Support/Experiences/Global_Drivers/MotoHelper_2.0.40_Driver_4.9.0.exe
http://wonderly.com/bb/DROID/OEM/rsdlite_5.0.msi
http://wonderly.com/bb/DROID/OEM/VZW_A855_QSC6085BP_RZRECOVERY_UPDATE.sbf
http://wonderly.com/bb/DROID/OEM/update.zip
2)install the first 2 links in order
3)connect your phone via usb to your computer and copy the update.zip you downloaded to your sdcard
4)reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok
5)open rsd lite and see if it recognizes your phone (basically any entry in the model column) and slide your phone keyboard open
6) click the ... near the start button and navigate and select the VZW_A855_QSC6085BP_RZRECOVERY_UPDATE.sbf file
7)click start and WATCH FOR "Phone[0000]: Phone is being rebooted" On your phone the screen will change to "SW Update Complete" and your phone will reboot within a second or two. You want to be already holding the x button on your keyboard to boot into recovery mode when the phone actually reboots so the stock OS doesnt erase the new recovery you just flashed
8) using the volume keys to move through the menu, the camera button to select and the power button to go back, go to install and select the update.zip you put on your sdcard earlier and select install update.zip
9) then select "reboot into android" and enjoy the benefits of being rooted
return to stock
1)download these files
http://www.motorola.com/staticfiles...al_Drivers/MotoHelper_2.0.40_Driver_4.9.0.exe
http://wonderly.com/bb/DROID/OEM/rsdlite_5.0.msi
http://wonderly.com/bb/DROID/OEM/VZW_A855_FRG22D_QSC6085BP_C_01.43.01P_SW_UPDATE.sbf
2)install the first 2 files
3)reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok
4)connect your phone via usb to your computer and reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok
5)open rsd lite and see if it recognizes your phone (basically any entry in the model column)
here are are some useful build.prop tweaks I've encountered along the way, just put the line into the build.prop or modify it if its already in there, save, wipe dalvik cache and reboot
6) click the ... near the start button and navigate and select the VZW_A855_FRG22D_QSC6085BP_C_01.43.01P_SW_UPDATE.sb f you downloaded earlier
7)click start and let it run and reboot automatically (it should work even if rsd lite says the result was fail)
8) you are now on stock unrooted froyo
FRG22D
(optional) 9) go to settings > about phone> check for updates and allow system updates to download and install (allows for a super clean setup if you are planning to re-root)
for possibly better scrolling speed, can be set to any number from 35-300:
# This defines the max event window manager can
# handle in 1 s. We may adjust this # for performance
# reason later
windowsmgr.max_events_per_sec=
change lcd density (already in build.prop), which is like changing the resolution on a windows computer can be anywhere from 140 to 260 (under 200 not recommended because everything may be too small for the phone to be usable:
ro.sf.lcd_density=
dalvik cache virtual memory size (already in build.prop)...can also help performance. set anywhere from 24m to 64m based on how complex your setup is. i.e. tons of apps, in depth theme, memory intensive apps, etc.
dalvik.vm.heapsize=
incoming ringer delay (already in build.prop) sets how soon the phone starts ringing when a call comes in. set between 0 and 2000
ro.telephony.call_ring.delay=
proximity delay. sets how long before screen turns off during call. set between 0 and 600
# Proximit sensor screen off delay
mot.proximity.delay=
tcp stack- optimizes data performance
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
enable hardware acceleration
# Render UI through GPU instead of CPU
# Comment out if this causes laggy UI (it should speed up UI)
debug.sf.hw=1
sleep mode for battery savings. 0 means power collapse suspend, 1 is power collapse (usually the best choice), 2 is apps go to sleep, 3 is show clock and wait, 4 is wait for interrupt...not sure which each one does or is good for, just know about this little tweak lol
# Battery Savings (Sleep Mode)
pm.sleep_mode=
more battery savings
# When moving through zones or losing signal, having a delay
# smooths out constant disconnects and reconnects, which in turn
# saves a ton of battery life!
ro.mot.eri.losalert.delay=1000
disable sending usage data
ro.config.nocheckin=1
wifi scan interval (already in build.prop) can save battery as well. set from 15 to 999
# Time between scans in seconds. Keep it high to minimize battery drain.
# This only affects the case in which there are remembered access points,
# but none are in range.
wifi.supplicant_scan_interval=
ok, now for some useful links (all credit goes to the creators of these cool tweaks/apps/programs
v6 supercharger by zepplinrox - http://forum.xda-developers.com/showpost.php?p=18703418&postcount=5021
Deodex/odex tweak by Nibras, Reeza & Danzano (thanks to BrUhNiGGs for finding this) - http://www.droidforums.net/forum/steel-droid/200388-ram-tweak-free-up-more-ram-make-apps-load-faster.html
setcpu for free (legitimately legal lol) - http://forum.xda-developers.com/showthread.php?t=505419
wifi tethering app Downloads - http://code.google.com/p/android-wifi-tether/downloads/list
wired tethering app Downloads - http://code.google.com/p/android-wired-tether/downloads/list
easy install of adb http://www.droidforums.net/forum/chevyno1/162984-your-1-adb-source-7-29-11-a.html
Guide to building a rom from source (credit to chevycam and SnkBitten) - http://www.droidforums.net/forum/steel-droid/196475-guide-how-build-your-own-rom-cm7-source.html
Ok, here's a new section with just general tips, tricks and scripts
Useful terminal emulator scripts run as superuser (su)
*Using the debugging logging to report issues
Code:
logcat > /mnt/sdcard/logcat.txt
wait 4-5 seconds then hold volume up and press f on the keyboard to stop it
if logcat is disabled then do this instead
Code:
dmesg > /mnt/sdcard/dmesg.txt
wait 4-5 seconds then hold volume up and press f on the keyboard to stop it
*Find top CPU/memory using apps. value after -m is how many apps to show, value after -n is how many times to update (be sure to set this value or it will run endlessly until terminal is closed)
Code:
top -m 10 -n 1
*Find md5sum for downloaded files (checks to ensure proper downloads especially for roms, just compare your result to whatever value the rom developer provides and they should match)
Code:
md5sum /mnt/sdcard/(file path on sdcard)
For example
Code:
md5sum /mnt/sdcard/download/SD_9.0.0.zip
*Use swap partition without swapper2.
Add this script to the end of any file in the /etc/init.d folder. If you don't have one just run it in terminal emulator each reboot and run it in terminal first since sometimes its mmcblk0p2 instead of mmcblk0p3 depending on where you have the swap partition (or use the app script manager to make it run at boot. Script manager doesn't run continuously like swapper2)
Code:
swapon /dev/block/mmcblk0p3
And to turn swap off
Code:
swapoff /dev/block/mmcblk0p3
*Setting swappiness
Add or edit this line in the file etc/sysctl.config using whatever value you want, just keep the spaces (open in text editor)
vm.swappiness = 30
Or add this to the end of a script in init.d or run in terminal emulator
Code:
sysctl -w vm.swappiness=30
*Loading a module for apps2sdext (link2sd style apps2sd)
Run this in terminal emulator with superuser permission, substituting ext3 for whatever extension you want loaded (keep the .ko though)
Code:
insmod /system/lib/modules/ext3.ko
or the simple way
Code:
modprobe ext3
*Listing loaded modules
Run this in terminal emulator with superuser permissions
Code:
lsmod
*Forcing a hot reboot to clear caches
Run this in terminal emulator with superuser permissions
Code:
pkill zygote
*terminal tips-
Find list of many possible scripts to run
Code:
busybox
List sysctl commands
Code:
sysct -h
List first or last 10 lines of another scripts output (note | is not lower case L, its a separate character)
First 10-
Code:
(script) | head
Last 10
Code:
(script) | tail
Example (list first 10 sysctl values)
Code:
sysctl -a | head
Finding lines with certain letters/word in another scripts output
Code:
(script) | grep (letters/word)
Example (show only sysctl lines with vm in them) (note | is not lower case L, its a separate character)
Code:
sysctl -a | grep vm
Don't worry more to come soon
Ok, those are the well tested tweaks, now for a few experimental ones. Please make sure to have a backup ready to restore since these ARE experimental and may cause your rom not to load
improve peformance?
Add this to the build.prop
#disable the zygote loader
ro.wmt.blcr.enable=0
Fix app issues? (change it to 0 to improve performance)
Add this to build.prop
ro.kernel.android.checkjni=1
Change the I/O scheduler (effects how your phone reads and writes data)(first line tells you whats available and what you currently have in [ ], then put whichever one you want in the "" after echo, and the last line will confirm the change)
Code:
cat /sys/block/*/queue/scheduler
for i in /sys/block/*/queue/scheduler
do
echo "deadline" > $i
done
cat /sys/block/*/queue/scheduler
Increse overall touch resposivness?
Add these to build.prop
debug.performance.tuning=1
video.accelerate.hw=1
ro.min_pointer_dur=8
Raise Photo and video quality?
Add these to build.prop
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
change sdcard buffer speed
run in terminal emulator as superuser (su) or put #!/system/bin/sh as first line and put in /system/etc/init.d (you can change the value in the "echo 512 > /sys/devices/virtual/bdi/179:0/read_ahead_kb" line to suit your needs- common values are 256, 512, 1024, 2048, 3072, 4096, 5120, 6144)
Code:
for i in /sys/devices/virtual/bdi/*
do
echo 2 > $i/read_ahead_kb
done
echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb
echo 2 > /sys/devices/virtual/bdi/default/read_ahead_kb
or you can try just simply using the simple version
Code:
echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb
Disable boot animation
add to build.prop (use caution after wiping dalvik, it will appear to hang at the M but its usually still booting up all the way)
dev.sfbootcomplete=0
Use dalvik JIT compiler
add to build.prop (Just In Time compiler is much faster)
dalvik.vm.execution-mode=int:jit
Improve performance?
change in build.prop
ro.setupwizard.mode=DISABLED
Rom dependent tweaks (will only work if these features are included in your rom and most are included in settings anyway, most of the time they are but if not sure then ask the dev) add these to build.prop, 1 is on 0 is off
help to free up unused ram-
persist.sys.purgeable_assets=
stop usb debugging on notification-
persist.adb.notify=
Force capacitive buttons to stay on while screen is on?-
ro.mot.buttonlight.timeout=
Improve screen quality at the cost of performance-
persist.sys.use.dithering=
*reserved*
**reserved**
and one more just in case
***reserved***
btw, i hope i posted this right, I'm still new here to xda forums, i hope i posted in the right section too...if not then someone can go ahead move it (if possible)
Nice collection!
Say, do you have anything specific to CDMA bandwidth?
I know my 3G TurboCharger has a positive effect somehow even though most of the entries are GSM related but hey... every bit helps
zeppelinrox said:
Nice collection!
Say, do you have anything specific to CDMA bandwidth?
I know my 3G TurboCharger has a positive effect somehow even though most of the entries are GSM related but hey... every bit helps
Click to expand...
Click to collapse
not sure if any of these would apply to data at all but i know kfazz posted them as the only ril settings for the droid, maybe this could further improve speed on all devices if anything applies to mobile data
Moto ril sholes accepted properties found via strings
persist.ril.mux.timeout.enbld
persist.ril.enableradio.powerup
persist.ril.uart.flowctrl
persist.ril.mux.noofchannels
persist.ril.mux.ttydevice
persist.ril.mux.retries
persist.ril.mux.sleep
persist.ril.mux.logmask
persist.ril.rssi.enable.param6
persist.ril.modem.ttydevice
persist.ril.pppd.start.fail.max
ro.ril.ecclist
ro.ril.barcode
ro.build.id
/data/data/com.motorola.motoapr.service/paniclogging
/data/misc/ril/ril_apr.log
Click to expand...
Click to collapse
Ok I guess those are boolean values soget either = 0 or =1 values then?
Well that's weird.. I didn't know there are ro.cdma values...
http://pastebin.com/LWWcSMTD
zeppelinrox said:
Ok I guess those are boolean values soget either = 0 or =1 values then?
Well that's weird.. I didn't know there are ro.cdma values...
http://pastebin.com/LWWcSMTD
Click to expand...
Click to collapse
i searched for ro.cdma and found some others too
ril.cdma.ppp.up=3
ro.radio.use-ppp=yes
net.cdma.ppp-exit=0
cool... maybe you can test them see if you notice a difference?
zeppelinrox said:
cool... maybe you can test them see if you notice a difference?
Click to expand...
Click to collapse
I'll try it out but it I'll try it on something where the radio fully works lol, is still being fixed on the ics build but obviously I have to go back to gingerbread to make and receive calls, if it does anything on GB, then I'll test on ics, who knows it might fix the radio issues somehow
A friend of mine just asked me to root his old droid for him to use merely as a multimedia (music & video) and google docs device. Strictly Wifi, no service plan.
i plan on rooting, wiping, and running SteelDroid on it for him:
http://forum.xda-developers.com/showthread.php?t=1098483
I came across these tweaks and they look AWESOME. I just have a few questions about some of them in particular.
metalspring said:
for possibly better scrolling speed, can be set to any number from 35-300:
# This defines the max event window manager can
# handle in 1 s. We may adjust this # for performance
# reason later
windowsmgr.max_events_per_sec=
Click to expand...
Click to collapse
Is this in the build.prop or elsewhere?
metalspring said:
tcp stack- optimizes data performance
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
Click to expand...
Click to collapse
where do i find and change these? build.prop or elsewhere?
metalspring said:
enable hardware acceleration
# Render UI through GPU instead of CPU
# Comment out if this causes laggy UI (it should speed up UI)
debug.sf.hw=1
disable sending usage data
ro.config.nocheckin=1
Click to expand...
Click to collapse
in build.prop?
metalspring said:
Useful terminal emulator scripts run as superuser (su)
*Use swap partition without swapper2.
Add this script to the end of any file in the /etc/init.d folder. If you don't have one just run it in terminal emulator each reboot (or use the app script manager to make it run at boot. Script manager doesn't run continuously like swapper2)
swapon /dev/block/mmcblk0p3
And to turn swap off
swapoff /dev/block/mmcblk0p3
*Setting swappiness
Add or edit this line in the file etc/sysctl.config using whatever value you want, just keep the spaces (open in text editor)
vm.swappiness = 30
Or add this to the end of a script in init.d or run in terminal emulator
sysctl -w vm.swappiness=30
*Loading a module for apps2sdext (link2sd style apps2sd)
Run this in terminal emulator with superuser permission, substituting ext3 for whatever extension you want loaded (keep the .ko though)
insmod /system/lib/modules/ext3.ko
Click to expand...
Click to collapse
Can i make 2 scripts in script manager that can do this? or are there any available? I know on such a low ram & low internal storage device, swap and apps2sdext would be INCREDIBLY useful.. any tips on making this permanent? If i can make a script in SM i know i can set it start at boot. But i wouldn't need to do that for a2sdext right? once that's set, it's set and needs no changes right?
Also, would you suggest a custom rom like steeldroid or would i be better off stripping out the crapware from the stock ota rom (froyo) and just flashing a better compatible kernel and using some tweaks & scripts to speed things up a bit and optimize them for his purposes.
Let me know what you think?
thanks!
Originally Posted by metalspring
for possibly better scrolling speed, can be set to any number from 35-300:
# This defines the max event window manager can
# handle in 1 s. We may adjust this # for performance
# reason later
windowsmgr.max_events_per_sec=
Click to expand...
Click to collapse
Is this in the build.prop or elsewhere?
Originally Posted by metalspring
tcp stack- optimizes data performance
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
Click to expand...
Click to collapse
where do i find and change these? build.prop or elsewhere?
Originally Posted by metalspring
enable hardware acceleration
# Render UI through GPU instead of CPU
# Comment out if this causes laggy UI (it should speed up UI)
debug.sf.hw=1
disable sending usage data
ro.config.nocheckin=1
Click to expand...
Click to collapse
in build.prop?
Originally Posted by metalspring
Useful terminal emulator scripts run as superuser (su)
*Use swap partition without swapper2.
Add this script to the end of any file in the /etc/init.d folder. If you don't have one just run it in terminal emulator each reboot (or use the app script manager to make it run at boot. Script manager doesn't run continuously like swapper2)
swapon /dev/block/mmcblk0p3
And to turn swap off
swapoff /dev/block/mmcblk0p3
*Setting swappiness
Add or edit this line in the file etc/sysctl.config using whatever value you want, just keep the spaces (open in text editor)
vm.swappiness = 30
Or add this to the end of a script in init.d or run in terminal emulator
sysctl -w vm.swappiness=30
*Loading a module for apps2sdext (link2sd style apps2sd)
Run this in terminal emulator with superuser permission, substituting ext3 for whatever extension you want loaded (keep the .ko though)
insmod /system/lib/modules/ext3.ko
Click to expand...
Click to collapse
Can i make 2 scripts in script manager that can do this? or are there any available? I know on such a low ram & low internal storage device, swap and apps2sdext would be INCREDIBLY useful.. any tips on making this permanent? If i can make a script in SM i know i can set it start at boot. But i wouldn't need to do that for a2sdext right? once that's set, it's set and needs no changes right?
Also, would you suggest a custom rom like steeldroid or would i be better off stripping out the crapware from the stock ota rom (froyo) and just flashing a better compatible kernel and using some tweaks & scripts to speed things up a bit and optimize them for his purposes.
Let me know what you think?
thanks!
Click to expand...
Click to collapse
to the first 4 yes, just add them to the build.prop and for the last ones you can either use script manager to make a new script in the folder /system/etc/init.d
if you dont have an init.d folder then you have to have script manager to run them at boot (i'd suggest having the scripts in /data) and for apps2sdext, i'd suggest using the app link2sd, its basically the only way to control moving apps to the sdcard ext
also the biggest help for low ram devices is v6 supercharger and all the other zeppelinrox scripts
http://forum.xda-developers.com/showpost.php?p=18703418&postcount=5021
and i'd highly highly suggest steeldroid 10, its what i currently run and most of the tweaks i have in this thread are already included in it
and btw if you didnt know, in order to use swap and link2sd you have to format your sdcard and repartition it, the easiest way is installing rom manager, flashing clockwork recovery and there should be an option to partition your sdcard in rom manager (it will erase everything on your sdcard so back everything up)
also i'm going to update this thread with more stuff i've found
updated and cleaned up op
awesome! thanks! yea i know about partitioning the sdcard. I use both swap and a2ext on my htc g2, but they are part of the kernel on the ROM i run, i've never used any other software to initiate them.
Thanks for the tips!
Also, how can ANYONE flash roms from XDA and NOT know about the AMAZING supercharger v6 script!
first of all I want to thank the OP! being how this is not my phone but my brothers. he wants me to root it and install a rom. this thread made everything a whole lot simple.
now to bug you guys.. where can I find a suitable system recovery apk for this phone? I have one installed but it never boots into recovery. also I haz steel droid 10 running.
Sent from my DROID X2 using XDA App
motrinHD said:
first of all I want to thank the OP! being how this is not my phone but my brothers. he wants me to root it and install a rom. this thread made everything a whole lot simple.
now to bug you guys.. where can I find a suitable system recovery apk for this phone? I have one installed but it never boots into recovery. also I haz steel droid 10 running.
Sent from my DROID X2 using XDA App
Click to expand...
Click to collapse
if you're talking about a droid 1 then the instructions to root should install a custom recovery
If you're talking about a droid x2 as your signature suggests then I'd say try looking on droidforums.net... They are more dedicated to the droid series of android phones and I know any Motorola phone other than the droid 1 is more complicated because of a locked bootloader
You can try downloading rom manager to flash a recovery for either phone I believe
Also if you are already rooted and think you have a working recovery then try installing android terminal emulator from the market and typing in
su
reboot recovery
metalspring said:
if you're talking about a droid 1 then the instructions to root should install a custom recovery
If you're talking about a droid x2 as your signature suggests then I'd say try looking on droidforums.net... They are more dedicated to the droid series of android phones and I know any Motorola phone other than the droid 1 is more complicated because of a locked bootloader
You can try downloading rom manager to flash a recovery for either phone I believe
Also if you are already rooted and think you have a working recovery then try installing android terminal emulator from the market and typing in
su
reboot recovery
Click to expand...
Click to collapse
I am talking about the droid 1. tho I spf'd to 2.2 I then went with the one click root method. and it placed a system recovery apk on my sd but I find that it does not work. I'm going to try that emulator thing you suggested
Sent from my DROID X2 using XDA App
metalspring said:
to the first 4 yes, just add them to the build.prop and for the last ones you can either use script manager to make a new script in the folder /system/etc/init.d
if you dont have an init.d folder then you have to have script manager to run them at boot (i'd suggest having the scripts in /data) and for apps2sdext, i'd suggest using the app link2sd, its basically the only way to control moving apps to the sdcard ext
also the biggest help for low ram devices is v6 supercharger and all the other zeppelinrox scripts
http://forum.xda-developers.com/showpost.php?p=18703418&postcount=5021
and i'd highly highly suggest steeldroid 10, its what i currently run and most of the tweaks i have in this thread are already included in it
and btw if you didnt know, in order to use swap and link2sd you have to format your sdcard and repartition it, the easiest way is installing rom manager, flashing clockwork recovery and there should be an option to partition your sdcard in rom manager (it will erase everything on your sdcard so back everything up)
also i'm going to update this thread with more stuff i've found
Click to expand...
Click to collapse
MS,
I have learned alot from your posts. Thanks for the time spent sharing them. A few questions.
You mention and I have noticed many of the tweaks are already incorporated into Steel Droid X. (I am currently running the rc1 version with the last Deprimed Kernel.) Am am liking it ALOT!!.
Is there anyway you could somehow put a denotion on the tweaks that are already included in SDX? I think it would be helpful, as I certainly would find it so.
How much of a effect did you find running v6 supercharger had given the other changes already in SDX? Any conflicts or issues running it with this ROM?
I am planning on partitioning my SD card as I would like to try the benefits of a swap partition. Upon checking my usage I am considering a 128mb. Seems like a safe size all around. Believe you have posted this somewhere as well? Card is a 32g class 4. I have never messed with running a swap. Currently, I have a standard single FAT32 format part. I have a number of programs already set as loaded on the SD card so I will have to move those back.
I believe SDX has apps2sdext already, correct?
From your post I take I still need links2sd to have the apps to go to that swap partition?
Is there a good link to info on the hows, workings, etc on the swap partition, apps works? I can search for one, only if you happen to have a link handy.
Thanks for all your help.
BE

Getting the Most Out of Your Nexus 7: Jay's Recipe for Buttery Goodness (4.1.2/4.2+)

Getting the Most Out of Your Nexus 7
Jay's Recipe for Buttery Goodness
for Android 4.1.2/4.2/4.2.1​
What we're going to do here is remount /data and /cache with discard and noauto_da_alloc, disable fsync, enable a 128mb zRAM and setup a good, stable starting point for further modification. The result is a stable, considerably smoother multitasking powerhouse with overall better power management and performance.
This recipe will work on pretty much any 4.1.2 ROM, and instructions are given for stock-based (with and without init.d support) and CM-based ROMs. If you have any questions, comments, or suggestions, please leave them below. I'll be happy to address whatever I can in a timely manner
[Common] Determining which script to use:
Download: SecretSauce4.1.2.zip - Contains 4 scripts. Unzip and choose which one you want
This all depends on how much you multitask (how many different things you do at once). If you usually have 4 or 5 apps open that you switch between regularly, then you do a moderate amount of multitasking, and would choose the 256mb script. If you tend to do only one thing at a time, you may decide to save the RAM and run with no zRAM. That's fine, too (I've even got a script for that, it's a favorite among gamers ). If you feel you fall somewhere in between, there are 64mb and 128mb scripts, as well.
If in doubt, try each for a day or two. Decide for yourself (and let me know what you find). Feel free to modify the script to suit you. If you don't understand anything in there, don't worry about it. It's set up pretty well as-is, and the defaults should suit you fine.
Please read this post to help you decide which script to install
[Common] To init.d or not to init.d:
If you run a custom ROM that supports /system/etc/init.d/ (and sometimes even /data/local/userinit.d), then you definitely want to go the init.d route, as it's pretty much bulletproof and needs virtually no resources to operate - it's built-in to the system.
If your ROM is stock-based, it probably doesn't support init.d - but it might. Ask the developer of your ROM if it has init.d support (and then let me know ). This recipe can be done on stock with init.d support! I include a link to a stock 4.1.2 kernel with init.d support in the ramdisk that you can flash before the M-Kernel Plus. Then just create /system/etc/init.d, chmod it 0755, and drop your script in there.
If your ROM is CyanogenMod (CM) based, then not only does it have init.d support, it has userinit.d support, which is great because it persists between dirty flashes. userinit.d is a directory you create in /data/local and chmod 0755. Any script you put in there (chmod 0755) will be run as it would were it in /system/etc/init.d
If you're completely stock but rooted (hey, it happens), and you want the buttery goodness but you don't want to flash a kernel - don't fret! I've even included a way for you to get what you can from the recipe! You'll be using an app called Script Manager (it's free, but you can donate, too. It's totally worth it) to autoload the script at boot-time. A couple of extra steps, but absolutely no mucking around under the hood
Personally, whether I'm on stock or something CM-based, I prefer having init.d (and userinit.d) support, as like I said, it's pretty much bulletproof and requires no extra resources. I, myself, run ParanoidAndroid 2.23, which is CM-based. It's the best-running, sturdiest, most usefully customized ROM I have ever used on any device, and I can't recommend it enough. Team Paranoid Android is top-notch!
...Now that you've decided on, flashed, setup and customized a ROM (or maybe you stayed stocked)...
BEYOND THIS POINT, THERE BE DRAGONS!
I'm not responsible if you FUBAR your device. But, if you follow my directions and pay attention to what you're doing, you won't.​This tutorial assumes basic knowledge of the Android operating system, related terminology, and the most basic of Linux understanding. Any term I use in this guide can be quickly and easily Googled.​
[Stock, rooted, no init.d] Installing the Special Sauce script and Script Manager:
* Open the Play Store and get the Stericson's Busybox Installer and install it
* Run the program, let it boot up and figure out what's where (takes a bit)
* Install Busybox 1.20.2 to /system/xbin
* Create /sdcard/scriptinit.d
* Copy the script you decided on into /sdcard/scriptinit.d
* Open the Play Store and get Script Manager and install it
* Run Script Manager, find your script, load it up, click the little root icon, and set it to run at boot
* Close Script Manager
* Skip to [Common (except CM-based)] Install M-Kernel Plus
[Stock, has init.d] Installing the Special Sauce script:
* Open the Play Store and get the Stericson's Busybox Installer and install it
* Run the program, let it boot up and figure out what's where (takes a bit)
* Install Busybox 1.20.2 to /system/xbin
* Copy the script you decided on into /system/etc/init.d/ and chmod it 0755
* Skip to [Common (except CM-based)] Install M-Kernel Plus
[Stock, needs init.d] Installing the Special Sauce script and creating init.d:
Download:Nexus7Stock_Insecure_InitD_4.1.2.zip by Metallice
* Reboot into recovery
* Flash Nexus7Stock_Insecure_InitD_4.1.2.zip
* Go to advanced and fix permissions
* Go back and reboot system
* Open the Play Store and get the Stericson's Busybox Installer and install it
* Run the program, let it boot up and figure out what's where (takes a bit)
* Install Busybox 1.20.2 to /system/xbin
* If /system/etc/init.d/ does not exist, create it, and make sure it's chmod 0755
* Copy the script you decided on into /system/etc/init.d/ and chmod it 0755
* Skip to [Common (except CM-based)] Install M-Kernel Plus
[CM-Based] Installing the ramdisk, M-Kernel Plus and Special Sauce script:
CM really should have busybox. If it doesn't, install it.
Download: Nexus7_CM10_PA22_4.1.2_complete.zip
and
the M-Kernel Plus of your choice from Metallice's M-Kernel Classic/Plus thread
* Reboot into recovery
* Flash Nexus7_CM10_PA22_4.1.2_complete.zip
* Go to advanced and fix permissions
* Go back and flash the M-Kernel Plus you downloaded
* Go to advanced and fix permissions again
* Go back and reboot system
* If /data/local/userinit.d/ does not exist, create it and chmod it 0755
* Copy the script you decided on into /data/local/userinit.d/ and chmod it 0755
* Skip to [Common] Verifying Installation
[Common (except CM-based)] Install M-Kernel Plus
Download: the M-Kernel Plus of your choice from Metallice's M-Kernel Classic/Plus thread
* Reboot into recovery
* Flash M-Kernel_alpha1_446GPU.zip
* Go into advanced and fix permissions
* Go back and reboot system
* Profit - You're done!
[Common] Verifying Installation
Pretty easy to verify if it's working. First off, it'll be really fast and snappy! Second, if you're using zRAM, you can open a terminal or adb shell from your PC and
free
The last line it outputs will be for swap (this is actually your compressed zRAM). For total and free, there should be numbers. If there are, then you have a page file and it's working.
Finally, you can open a terminal or adb shell from your PC and
mount | grep discard
It should output 2 lines, one for /data and one for /cache. That means it's working.
[Common] Further Optimization:
I recommend the Play Store app System Tuner for further customization. The customizations I recommend are
* Undervolt the entire system by -50mV
* Try that for a day or two and then try another -25mV
* If you end up stable at -75mV, leave it be. That's a good unvervolt
* CPU Governor should be set to either interactive or ondemand, unless you're a hardcore gamer, in which case you might want to use performance
* CPU Frequencies can be set. I use 100-1300. Use whatever floats your boat
* I/O Scheduler can be specified. I recommend deadline in every situation, as it's specially modified by _motley
* Go to Boot Settings from any of those screens, and save cpu and sd via the 'on boot complete' or init.d method (if you chose not to implement init.d, choose upon boot completion).
* Back out of System Tuner and reboot
* Profit
Feel free to take it from there, and post your experiences here
Just In Case
Update 11/10/2012
If you are using kernel a6 or better, you don't need to flash any other kernel or ramdisk zip first. Starting with a6, Metallice compiles his own universally-compatible ramdisk.
I'll try it, Thank you. Your 4.1.1 recipe was awesome
I loved your guide for 4.1.1. Thank you very much for updating it to 4.1.2
Thanks for the guide
Btw my swap says 0 in every one, I am using the 128mb script, shouldn't be 128 in swap?
I can confirm swap is 0. The funny thing is that mkswap and swapon actually work at boot, I can see from dmesg, but swap gets disabled by something. If you just run swapon again, it activates and stays.
Sent from my Nexus 7 using xda app-developers app
kzakhar said:
I can confirm swap is 0. The funny thing is that mkswap and swapon actually work at boot, I can see from dmesg, but swap gets disabled by something. If you just run swapon again, it activates and stays.
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
Ditto here - even tried renaming to S90SecretSauce128 - PA 2.23
sizanx said:
Thanks for the guide
Btw my swap says 0 in every one, I am using the 128mb script, shouldn't be 128 in swap?
Click to expand...
Click to collapse
kzakhar said:
I can confirm swap is 0. The funny thing is that mkswap and swapon actually work at boot, I can see from dmesg, but swap gets disabled by something. If you just run swapon again, it activates and stays.
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
Ryan Kasper said:
Ditto here - even tried renaming to S90SecretSauce128 - PA 2.23
Click to expand...
Click to collapse
Can you guys confirm whether the script is running at all? What are the results of
mount | grep discard
?
Not so sure zram is worth the loss of actual ram.
Maybe a swap partition would be more useful, although is that worth potential damage to the internal SD.
With the S3 you can set it to use the external storage so if that gets damaged from too many read/write operations an sdcard is cheap to replace.
Unfortunately we don't have that option with the N7.
Not trying to be negative, just throwing out some ideas to see what you think.
256mb+ swap partition on internal SD?
Sent from my GT-I9300 using xda premium
nodstuff said:
Not so sure zram is worth the loss of actual ram.
Maybe a swap partition would be more useful, although is that worth potential damage to the internal SD.
With the S3 you can set it to use the external storage so if that gets damaged from too many read/write operations an sdcard is cheap to replace.
Unfortunately we don't have that option with the N7.
Not trying to be negative, just throwing out some ideas to see what you think.
256mb+ swap partition on internal SD?
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
It's worth it if you do a fair amount of multitasking. I have mine set at 128, but if I'm gonna be doing heavy gaming, I'll disable it, temporarily. Haven't run into any memory issues.
Jay Aristide said:
It's worth it if you do a fair amount of multitasking. I have mine set at 128, but if I'm gonna be doing heavy gaming, I'll disable it, temporarily. Haven't run into any memory issues.
Click to expand...
Click to collapse
But isn't that zram, which is basically taking some normal ram and compressing it and using it as swap?
Would it make sense to leave normal ram as is and to make a swap partition on the internal SD and have 1gb of ram, plus whatever size you make the swap partition.
I know it would be slightly slower than zram but we would end up with over 1gb of usable 'ram'
The only downside is the potential damage to the SD card which is why using zram is safer, but the downside to zram is loss of some normal ram.
There's pro's and con's to both really.
Sent from my GT-I9300 using xda premium
Jay Aristide said:
Can you guys confirm whether the script is running at all? What are the results of
mount | grep discard
?
Click to expand...
Click to collapse
Here you go.
Code:
[email protected]:/ $ mount | grep discard
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
[email protected]d:/ $
sizanx said:
Here you go.
Code:
[email protected]:/ $ mount | grep discard
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
[email protected]:/ $
Click to expand...
Click to collapse
Okay, do me a favor and reboot your tablet. Once it's up and going, do
uname -a ; free ; mount | grep discard
And tell me the results
Jay Aristide said:
Can you guys confirm whether the script is running at all? What are the results of
mount | grep discard
?
Click to expand...
Click to collapse
Code:
mount | grep discard
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
nodstuff said:
But isn't that zram, which is basically taking some normal ram and compressing it and using it as swap?
Would it make sense to leave normal ram as is and to make a swap partition on the internal SD and have 1gb of ram, plus whatever size you make the swap partition.
I know it would be slightly slower than zram but we would end up with over 1gb of usable 'ram'
The only downside is the potential damage to the SD card which is why using zram is safer, but the downside to zram is loss of some normal ram.
There's pro's and con's to both really.
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
Well, the point of it is to improve performance while multitasking by storing the page file in memory. I've played around with nand swap on other devices, and I've never been impressed with it on Android, whereas app-switching is noticeably snappier using zRam.
Either way, there's a no zRam version, and 3 different sizes to choose from, so just find what works for you and lemme how what you settled on
Jay Aristide said:
Okay, do me a favor and reboot your tablet. Once it's up and going, do
uname -a ; free ; mount | grep discard
And tell me the results
Click to expand...
Click to collapse
Code:
uname -a ; free ; mount | grep discard
Linux localhost 3.1.10-motley+ #51 SMP PREEMPT Mon Oct 15 14:37:13 EDT 2012 armv7l GNU/Linux
total used free shared buffers
Mem: 996780 969476 27304 0 51544
-/+ buffers: 917932 78848
Swap: 0 0 0
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
Ryan Kasper said:
Code:
uname -a ; free ; mount | grep discard
Linux localhost 3.1.10-motley+ #51 SMP PREEMPT Mon Oct 15 14:37:13 EDT 2012 armv7l GNU/Linux
total used free shared buffers
Mem: 996780 969476 27304 0 51544
-/+ buffers: 917932 78848
Swap: 0 0 0
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,relatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,noauto_da_alloc,discard 0 0
Click to expand...
Click to collapse
What ROM are you running, if any?
Also, could you please
cat /sys/block/zram0/disksize
And report the results?
Jay Aristide said:
Well, the point of it is to improve performance while multitasking by storing the page file in memory. I've played around with band swap on other devices, and I've never been impressed with it on Android, whereas app-switching is noticeably snappier using zRam.
Either way, there's a no zRam version, and 3 different sizes to choose from, so just find what works for you and lemme how what you settled on
Click to expand...
Click to collapse
Ya you're right, I'm just apprehensive of zram from the S3, before jellybean it only had 778mb of usable ram and with a 128mb zram swap then you were down to 650mb.
But the N7 doesn't have that problem so zram is probably the better option for the N7.
I'll take the no zram one for a test drive first and try each one after that and I'll report back.
Thanks man.
Sent from my GT-I9300 using xda premium
Jay Aristide said:
What ROM are you running, if any?
Also, could you please
cat /sys/block/zram0/disksize
And report the results?
Click to expand...
Click to collapse
Paranoid 2.23
Code:
cat /sys/block/zram0/disksize
134217728
Jay Aristide said:
What ROM are you running, if any?
Also, could you please
cat /sys/block/zram0/disksize
And report the results?
Click to expand...
Click to collapse
I posted earlier: zram device is created ok, mkswap works ok, even swapon works ok, but then swap gets turned off by something. If later I run swapon again, swap comes back, meaning both zram device and mkswap worked fine.
I'm also using PA 2.23 with Metallice alpha kernel.

[TOOL/SCRIPT/RC2]FreeXplain-r / freex-BETTER than free & Why "free" RAM ISN'T WASTED!

[TOOL/SCRIPT/RC2]FreeXplain-r / freex-BETTER than free & Why "free" RAM ISN'T WASTED!
See Post #2 for Installation/Requirements/Download.
Now before getting into my new tool, I'd like to explain why I felt the need to even bother making it.
First of all, if you've ever typed "free" in terminal, you'd see that it shows almost no free ram while any app you check with would show lots of free ram.
This what it looks like.
{
"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"
}
Now if you're like me, you'd probably do a google search to figure out what the hell it means lol
Because I had over 200 mb "free" when I took that screen shot but that shows only 40mb free and it would be nice if it actually made some sense
Some of you familiar with my V6 SuperCharger may have read this post of mine before: "Why 'Free RAM' Is NOT Wasted RAM!"
In there, I post some findings from my first hand experience and how it correlates with this article Linux Memory Consumption (which I had found afterwards)
Unfortunately, that page is now down but I had a saved copy in PDF format which I've attached.
In that pdf, it reads "The absolute free memory number is not only the value of MemFree, but the sum of the MemFree, Buffers and Cached fields."
There are many pages that can help you figure it out.
Here is a good one Check Linux Memory Usage Using Free Command
If you need to know exactly what buffers and cache actually are, click the button
Info taken from http://nilesh-joshi.blogspot.ca/2010/04/interpreting-output-of-free-command.html
The "buffers" column shows the amount of memory being used by the kernel buffer cache. The buffer cache is used to speed up disk operations, by allowing disk reads and writes to be serviced directly from memory. The buffer cache size will increase or decrease as memory usage on the system changes; this memory is reclaimed if it is needed by applications.
The "cache" column indicates how many memory pages the kernel has cached for faster access later. Since the memory used for buffers and cache can easily be reclaimed for use by applications, the second line (-/+ buffers/cache) provides an indication of the memory actually used by applications (the "used" column) or available to applications (the "free" column). The sum of the memory used by buffers and cache reported in the first line is subtracted from the total used memory and added to the total free memory to give the two figures on the second line.
Swap space is generally used as a last resort when the system can't reclaim physical memory in other ways.
Another light hearted link is Help! Linux ate my RAM! That page has this table:
The middle yellow bar above is referring to the buffers (91 mb) and cache (764 mb) values below (855 mb total).
Code:
$ free -m
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 [B][COLOR=Green]869[/COLOR][/B]
Swap: 2047 6 2041
869 mb is readily available and not just 13 mb!
So if you read that page, you'd know that 855 mb is NOT actually wasted, it's being used by linux to speed things up!
Basically, if you're not using the ram for apps, linux is using it for cache instead.
And when you need that ram for apps, you get to reclaim it instantly
Therefore...
======================================================
Ok that's all nice nice but why did I bother making a new tool?
Well, if you look at the first screen shot up top, you'll see that the android/busybox free command does NOT have the cached column.
Therefore, the free command on Android actually tells us a little something...
...but whole lotta nothing!
So, this is what I did about it...
Basically, I:
Added the cached colum
Removed the useless shared column (which is always 0 and is a waste of real estate)
Added the swap -/+ adjustment line (notice that 4076 kB is actually available, not just 16 kB)
Then total everything up nice nice
So here's a direct comparison of the 2 outputs:
I added colour to the free output for easy comparison.
But notice how the -/+ adjustment line is COMPLETELY different.
The free command shows only 44,644 kB as being freely available but in reality, the value is 208,352 kB... not even close! Simply because free doesn't utilize the cached value (which is found /proc/meminfo along with all the other data.)
The math works both downwards... (add same colours to get the bold ie green plus green = green bold)
...and sideways ie. freely available(208352) = free(40104) + buffers(4540) + cached(163708)
Now, not everybody like rainbows so there is an alternate colour scheme...
Of course, while I was at it (it took me nearly a month to perfect it), I added a whole bunch of options...
So let's see it actually explain something with the -x option...
And explaing even more with -r... ( it's kinda like a mini tutorial )
Since it has so many options, it would be a pita to remember all the options so that you can have your favourite output format all the time...
So it will actually remember your last command (but ignores -help and -install).
Just type "freex" and it automagically does what you did last time...
The output is different depending on whether swap is enabled...
I added the -o option from free which omits the -/+ adjustment line and added a -total only option...
Force -wide option when not using kilobytes (and using a smaller font)...
It's nice to see the percentage table along with kB and/or mb tables.
Also note that it automatically uses wide output when using kB.
Click the button for some gratuitous screen grabs...
Root is NOT required to use this script!
However, if not root, to actually install it for easy command line usage requires a little workaround.
Requirements:
1. An app that can run scripts lol
Fully compatible with Terminal Emulator and Script Manager/Script ManagerPro.
Other terminal apps probably won't display colours properly.
In fact Script Manager didn't either until I requested 256 colour support for it and @devwom updated it quite fast
So make sure to UPDATE Script Manager if that's your preference!
Tho it may not display all the colours, Terminal IDE will work too while installing BusyBox for itself.
2. BusyBox (for the grep and printf commands)
If you're rooted, then there is nothing else to do and go to the Install section.
If NOT rooted you have a few options.
a) download the attached busybox.zip and put it in the same place as the freex script. It is not a zip file. It's the busybox binary from Kbox2. I chose it for it's small size.
Just run freex as explained in the install section and freex will install "busybox.zip" for you as long as it's in the same location as the script.
b) install OneBox. It requires Terminal Emulator and automates the process to...
c) Install Kbox2
d) Easiest solution is probably BusyBox Non-Root but also for use with Terminal Emulator.
e) Use Terminal IDE (has its own BusyBox)
FreeXplain-r Installation:
(Pronounced "Free Explainer")
Note: Installation merely simplifies the execution of freex so that you can just type "freex" in your terminal app without having to type "sh /sdcard/freex*" all the time. Of course, if you're using a script runner like Script Manager, it doesn't matter too much since their purpose is to make it easy to run scripts.
1. Save attached script to sdcard. (No need to rename it from freex*.pdf)
2. Then just run the script!
If using Script Manager, no need for me to explain how to use that app.
If using a terminal app, do:
Code:
cd /sdcard
sh freex*
No need for the -i switch it should install automatically.
Use the -i switch for forced installation/update/refresh.
If not running as root, it will copy to your terminal app's data folder and give you further instructions.
Notice that it says to run with "sh freex" in the help section?
That's because the $PATH statement hasn't yet been setup in the terminal app's settings.
If running as root, it will automatically install to /system/xbin and it's easy as pie.
Here is a forced refresh/reinstall.
Not running as root at first but the $PATH is setup so it doesn't give the additional help info to set that up.
Then as root, of course it installs to /system/xbin
Another masterpiece from the GoRM!
Even for a simple(but not so simple ) script you can explain this much. This really sums up what an amazing developer you are zep.
Sent from my GT-P7500 using Tapatalk
This is nice!! Explains all! I like rainbows of course..
Noted something.. when running (installing) the script saved to a folder which has a name with spaces, an error occurs (I'm using ScriptManager). "freex" didn't get installed to xbin properly (size=0). No issues otherwise.
i'll try it later, thanks man... :good:
Daniel D. said:
Another masterpiece from the GoRM!
Click to expand...
Click to collapse
ok I give up... what's GoRM? IMMA N00B and forgot the URL for google.com
eushaun99 said:
Even for a simple(but not so simple ) script you can explain this much. This really sums up what an amazing developer you are zep.
Sent from my GT-P7500 using Tapatalk
Click to expand...
Click to collapse
I don't bother if it don't work on all devices
mrhnet said:
This is nice!! Explains all! I like rainbows of course..
Noted something.. when running (installing) the script saved to a folder which has a name with spaces, an error occurs (I'm using ScriptManager). "freex" didn't get installed to xbin properly (size=0). No issues otherwise.
Click to expand...
Click to collapse
Ah the scripter's life long nemesis... the evil space in a folder name.
I shall quash that empty soul in our next duel.
Btw you didn't update Script Manager... the rainbow is all wrong lol
Edit: Added a poll. For fun, I'm gonna view it as an IQ test. heh.
God of RAM Management :silly:
Hey zepp just wanted to confirm after running this script this is what my free ram should look like
sent from my DNA
zeppelinrox said:
Btw you didn't update Script Manager... the rainbow is all wrong lol
Click to expand...
Click to collapse
Yup.. noted that. I meant rainbows in terminal emulator..
"watch freex" command lets me to enjoy the rainbows every 2 seconds
Ok any idea as to why I'm getting this
sent from my DNA
Or this
sent from my DNA
Daniel D. said:
God of RAM Management :silly:
Click to expand...
Click to collapse
Oh right!
I'm too humble to have figured that one out lol
mrhnet said:
Yup.. noted that. I meant rainbows in terminal emulator..
"watch freex" command lets me to enjoy the rainbows every 2 seconds
Click to expand...
Click to collapse
That's funny I was looking at other free options and thoughr about adding the interval option with -s and also saw that watch tip lol
But it clears the screen so it only shows the latest output.
eriknors said:
Or this
sent from my DNA
Click to expand...
Click to collapse
what if you don't use exec? I just tried with exec and terminal emulator crashed.
zeppelinrox said:
Oh right!
I'm too humble to have figured that one out lol
That's funny I was looking at other free options and thoughr about adding the interval option with -s and also saw that watch tip lol
But it clears the screen so it only shows the latest output.
what if you don't use exec? I just tried with exec and terminal emulator crashed.
Click to expand...
Click to collapse
I don't follow how else could I run it without exec? All I do is open terminal emulator type su then type freex
sent from my DNA
eriknors said:
I don't follow how else could I run it without exec? All I do is open terminal emulator type su then type freex
sent from my DNA
Click to expand...
Click to collapse
I think you might be experiencing the issue related to this below::
mrhnet
Noted something.. when running (installing) the script saved to a folder which has a name with spaces, an error occurs ... "freex" didn't get installed to xbin properly (size=0). No issues otherwise.
Click to expand...
Click to collapse
zeppelinrox
Ah the scripter's life long nemesis... the evil space in a folder name.
I shall quash that empty soul in our next duel.
Click to expand...
Click to collapse
:::::::::::::::
move your downloaded ""freex_RC1.sh.pdf "" to just the /sdcard
::: I personally re-name it to ""freex_RC1.sh""
and then open terminal
give her the ole su command
and
Use the -i switch for forced installation/update/refresh.
:: sh /sdcard/freex_RC1.sh -i ::
Then as root, of course it installs to /system/xbin
Now run your commands...
.
Ok I double checked where I have the file and its path is /sdcard/freex_RC1.sh no spaces. Did exactly what u suggested and when I try to run freex -i I get this. Could it have been installed to system/xbin incorrectly and now unless I either dirty flash my Rom or restore system it's not gonna change?
sent from my DNA
eriknors said:
Ok I double checked where I have the file and its path is /sdcard/freex_RC1.sh no spaces. Did exactly what u suggested and when I try to run freex -i I get this. Could it have been installed to system/xbin incorrectly and now unless I either dirty flash my Rom or restore system it's not gonna change?
sent from my DNA
Click to expand...
Click to collapse
Maybe you have an incomplete download
eriknors said:
Ok I double checked where I have the file and its path is /sdcard/freex_RC1.sh no spaces. Did exactly what u suggested and when I try to run freex -i I get this. Could it have been installed to system/xbin incorrectly and now unless I either dirty flash my Rom or restore system it's not gonna change?
sent from my DNA
Click to expand...
Click to collapse
according to your photo you did not type the command properly
look at your command it should read this
:: sh /sdcard/freex_RC1.sh -i ::
that is a minus and lowercase letter i
that is what tells it to force re-install
you should then see it tell you
"installing myself to...
/system/xbin/feeex"
I'm not 100% sure but you may want to run it as su,
then the command
.
hhp_211 said:
according to your photo you did not type the command properly
look at your command it should read this
:: sh /sdcard/freex_RC1.sh -i ::
that is a minus and lowercase letter i
that is what tells it to force re-install
you should then see it tell you
"installing myself to...
/system/xbin/feeex"
I'm not 100% sure but you may want to run it as su,
then the command
.
Click to expand...
Click to collapse
I'm pretty sure zepp is right I'm gonna redownload it. I did run the exact command u are referring to I just didn't screenshot it. Who knows though knowing my luck the script probably isn't going to work correctly for my phone cause it's an HTC or for some random reason my kernel doesn't support something. I've always trusted @zepplinrox scripts and I've lived by V6 for as long as I can remember but even when I follow every step to a T I almost always run into these random isolated quirks. I mean everyone else that's ran this has had no issue yet I do exactly the same thing and for whatever reason the script runs but no info shows up? I will redownload and start from scratch and report back. Thanks again zepp. Can't wait for ur V6 kk edition
sent from my DNA
Just in case there is something weird, post the output of this:
cat /proc/meminfo
also see what happens if you use script manager to run it

Categories

Resources