Related
Hey guys,
I have some doubts in the cache in phone which need your expertise in.
Why is it that sometimes our phone will get sluggish and laggy, and we need to reboot it or clear cache to make it back to fast again? I thought in Android (linux), that ram is needed to run any applications and it does not depend on the space (data storage) we have left in the phone. So what does clearing cache has to do with the performance of the phone?
Thanks for your time.
Anyone have any ideas on this?
What are you talking about specifically? Clearing application cache? Doing this will have ZERO effect on device performance ***EXCEPT*** when running THAT SPECIFIC PROGRAM. It could make that program itself faster or slower to clear the cache. The purpose of cache is to improve performance by making the data available locally, however, if the data required is NOT IN CACHE, then having cache will slow it down as a result of having to process the cache.
Note: If you are running a custom hacked firmware using swap or compcache, then rebooting will clear some things up and make it faster. This is another form of cache that gets cleared. Ultimately, without frequent reboots, use of swap will tend to slow the device down over time, and this is cleared by rebooting.
Erm oki, so is it better to do without swap in this case as i'm using a custom firmware?
Let's say I am running 1 foreground application with 5 background applications (sleep) and another side running 1 foreground application with 15 background applications (sleep). This is just an example. In this 2 cases, will the speed of running the 1 foreground application be the same with the different number of background applications there?
Anyone have any ideas on this?
No one know anything about this issue?
I guess it's because the database gets huge and this may be bad for the performance...
so like a big registry in windows is bad...
maybe also some fragmentation... who knows
I thought I read about this before but I couldn't find it through Google. My browser went from 6mb to 10mb and now its 16mb of data but I haven't added any bookmarks and I clear the cache regularly. So wtf. Phone is stock, native browser
AndroidPerson said:
I thought I read about this before but I couldn't find it through Google. My browser went from 6mb to 10mb and now its 16mb of data but I haven't added any bookmarks and I clear the cache regularly. So wtf. Phone is stock, native browser
Click to expand...
Click to collapse
I haven't seen it get that big, but mine is always 6-10M when I look.. I really wish it limited itself and dumped the oldest data like any other browser cache does.
Restart your phone and the data will level out. Personally I had to reboot 3 times before it fixed itself. It's just one of those numerous Android quirks, they are relatively minor but annoying nonetheless
Search for the other thread on this, the browser was changed in froyo.
With the recent release of Spz0s rom and Adrynalyne getting this beat over clocked these settings are becoming obsolete. Use at your own discretion.
I recently restored my phone to stock, with basic settings, meaning I did not use any of the settings listed here. I scored a 1013 on a bench with stock everything. Now that I have VTL Launcher as stock again and have everything set back up for me, I'm scoring 1000s and 990s regularly. Again without any of these settings enabled. Which is leading me to believe that a stable system is the fastest thing when it comes to performance and benchmark scores. The settings listed below did help me out, with an unstable system. Now that I am running on a stable system, none of the settings below helped my performance or bench scores, they only hurt them. So these settings below will help anyone with an unstable system to not feel the lag of said unstability. If you try these settings and they don't do anything, or hurt your performance or score, turn them back to stock and revel at how much you rock for having a super stable system! I have also noticed that the app AUTO KILLER MEMORY OPTIMIZER virtually replaces sysctl. If you run AUTO KILLER I would suggest setting sysctl back to stock! I would recommend AUTO KILLER MEMORY OPTIMIZER from the Market to EVERYONE with a Zio. Nice app, set it to Aggressive!
FIRST OFF, THESE SETTINGS ARE ONLY CHANGEABLE IF YOU ARE ROOTED!! If you are not I cannot help you!!
I am making this thread to address performance issues with the Zio. If you have done a benchmark score with just basic settings, it's already apparent to you the Zio is not the best phone. I have found some tweaks to make the phone run faster and score better on benches.
USE THESE SETTINGS AT YOUR OWN RISK. IF YOU SCREW SOMETHING UP, DON'T CRY TO ME.
Stagefright: Stagefright is part of the stock media player that comes disabled on the Zio. Turning on stagefright will increase your benchmark score by a lot, and has also been reported to make Video Playback much better, getting rid of jumpy lagging videos.
You need to make sure you have r/w(read/write) access in your file manager. Root Explorer has r/o(read/only) and r/w. You cannot change any files without r/w access in your file manager.
To Enable Stagefright you open your file explorer(i.e. root explorer, astro, etc.) and navigate to the system folder. Open build.prop in your text editor. Scroll down to where you find stagefright. There are four settings for it grouped together near the bottom of the script. Next to each setting it says =false. You need to edit the false to say true. Once that is done, go up just slightly from that spot, there is also another spot to enable stagefright. Change that to true as well. Also notice that just above this last stagefright script, there is something about the vm.heap and dalvik cache. This is where you change your VM Heap size.
(NOTE: ENABLING THE HTTP SETTING IN STAGEFRIGHT ALLOWS FOR A RICHER HTTP BROWSING EXPERIENCE BUT WILL ALSO PUT A GREEN BAR ON YOUTUBE VIDEOS. KEEPING IT SET TO FALSE WILL AVOID THIS GREEN BAR AND SHOULD NOT AFFECT OVERALL PERFORMANCE!)
VM Heap-Not exactly sure what the technical aspect of it is, but increasing the vm.heap gives the dalvik cache more room to work with, thus making your memory faster. THIS NUMBER SHOULD NOT BE SET BELOW ANDROID DEFAULT WHICH IS 24. And should also not be set above 44. If you want to change this number, add or subtract 4 within the above values, 24-44. This can go down to 16 but you'll see the results and why I said to leave it up pretty fast.
SYSCTL- To edit these settings, open your file explorer, hit the ETC folder. Scroll to bottom and find sysctl.conf, long press and open in text editor. So far I can only say there are three settings here you need to adjust.
To edit SYSCTL settings you must first download and install the app sysctl config from the Market. After you set it up initially it can be uninstalled and leave behind the settings folder for further settings changes by manually editing or you can keep it and just use it to make the changes.
First is MIN FREE KB. This number will not be the same for everyone, although I can tell you setting this number above 4096 seems to slow the system way down. Although you may try any of the following numbers..
1536, 2048, 4096, 5120, 5632, or 6144.
These are the only numbers I would suggest using as they are parameters that came out of the phone itself.
sys/module/lowmemorykiller/parameters. <----DO NOT CHANGE the numbers in this location, they are system defined parameters and are NOT to be changed!
The second setting is vfs.cachepressure. I have this set to 10. Default is 50. Basically what I've read about this, it opens more room by setting it lower, leaving more memory free from constantly checking and clearing the cache. Read more here http://forum.xda-developers.com/showthread.php?t=523707&page=12
The Third setting is oom. It's the last value in sysctl.conf and needs to be set to 1 or 0. Instead of your phone starting to kill apps when it's out of memory, it does something else that I didn't quite understand, which is supposed to boost memory performance. Some people are seeing great results with this setting. Some people say it doesn't do anything. Seems to be specific to the user, and I have yet to find anything in common between two users who say this helps. Although bench scores are higher with it set to 1.
For these settings to take effect you must reboot your phone. Changes to these settings are only applied by a reboot, so any time you change anything, REBOOT!
If you do not know how to change settings manually, there are two apps in the market to help. VM Heap Tool will change your VM Heap for you, no need to manually edit if you don't want to. sysctl config is an app that will allow you to easily change the sysctl settings.
There is an App that will change your stagefright settings for you called Blade Buddy. I did not have a good expeience with this program and would suggest that you edit stagefright manually since it's pretty easy with a superuser file manager.
I can say with certainty that turning on stagefright and adjusting and playing with the rest of the settings that your phone will turn in to a beast compared to how it came out of the box.
As far as battery performance goes, I've noticed a 10-15 percent increase(estimated) over the life of a charge(depending on amount of usage and type). I have noticed more battery use. But not so much that these settings wouldn't be worth using. I gave numerous variations of these settings tries over 2 very long months of restarts and three different benchmark programs. Any additional information or discoveries are welcome.
If this helped, please hit Thanks!!
Muchos Gracias to everyone in #openzio as always. Spz0 n Mattix are always a big part of anything I do. They are always nice enough to save me from myself. And much thanks to anyone that helps out with the Zio at all. Lets own this phone!
Nice write-up bro.
Well, good guide. Hopefully Kyocera calls me back in regards to the kernel source code so we can really overclock this thing.
Sent from my Zio using XDA Premium App
Their lawyer in San Diego got a hold of me on Facebook. Asked me to call her back. Three calls and no dice. Waiting on her response now. Hopefully soon. She said they are "working the bugs out". Which is a load of BS since we have phones in our hands, the source is done. They just have to give it to us and I told her bluntly just that.
Tell them to call me lol, I want the source. Give us the source!
Sent from my Zio using XDA Premium App
So what happened to getting it? Teacher not know the right trick? Have you heard about using git to get the source? I dunno what git is but it may help? Ever heard of it?
Sent from my Zio using XDA Premium App
http://en.wikipedia.org/wiki/Git_(software).
Google is your friend???
Also, I don't have a sysctl.conf file. At least not where you said it is or one that root explorer can find...
Yeah if I actually understood any of that I wouldn't be asking.
Ok here is the best benchmark average I have gotten so far. These are the settings I used to achieve it.
Avg Benchmark - 795
High - 900 (omitted from average)
Low - 710 (omitted from average)
Avg with high and low only changed by 6 points.
Sysctl Support - Enabled ( I am using the Sysctl app form the market.)
Min free Kbytes - 4096
Dirty Ratio - 80
Dirty BG Ratio - 40
Oom Allocating Tasks - Enabled
VM Heap Tool - VM Heap set to 36m
Stagefright settings are all set to "True"
What we need to know now is what setting are going to speed up the UI. Like cutting load times on FB and other apps, what is making the phone just lightning fast? Doesn't seem to matter too much as long as you don't go above 4096. Finally started to see some system lag with 8192. We need to figure out what makes the phone the most responsive, fastest, beast of a phone.
Messing with the radio numbers only seems to slow me down. And still can't really find anything on what vm.swapiness does either.
sinisin said:
What we need to know now is what setting are going to speed up the UI. Like cutting load times on FB and other apps, what is making the phone just lightning fast? Doesn't seem to matter too much as long as you don't go above 4096. Finally started to see some system lag with 8192. We need to figure out what makes the phone the most responsive, fastest, beast of a phone.
Messing with the radio numbers only seems to slow me down. And still can't really find anything on what vm.swapiness does either.
Click to expand...
Click to collapse
Well, I have also downloaded Link2SD from the market and put every app (except system apps) on the SD card and That has given me a little over 100MB free on phone storage and I am using Memory booster lite to free up memory on the phone. All of these things have made a huge difference in the speed and performance of the phone including page load times. (facebook opens and loads almost instantly).
Be careful. Don't move things like Widgets that need to refresh or themes for your launcher or the launcher itself. Seems fine at first until you run for a while and Widgets stop and launcher always reloads.
Sent from my Zio using XDA Premium App
Are you on Wi-Fi while opening apps or 3G and if 3G how many bars?
Sent from my Zio using XDA Premium App
Using Root Explorer /ect/sysctl.conf I'm not seeing this file...
sinisin said:
Serious changes coming soon. New numbers up for min free KB below already.
Stagefright: Stagefright is part of the stock media player that comes disabled on the Zio. Turning on stagefright will increase your benchmark score by a lot, and has also been reported to make Video Playback much better, getting rid of jumpy lagging videos.
To Enable Stagefright you open your file explorer(i.e. root explorer, astro, etc.) and navigate to the system folder. Open build.prop in your text editor. Scroll down to where you find stagefright. There are four settings for it grouped together near the bottom of the script. Next to each setting it says =false. You need to edit the false to say true. Once that is done, go up just slightly from that spot, there is also another spot to enable stagefright. Change that to true as well. Also notice that just above this last stagefright script, there is something about the vm.heap and dalvik cache. This is where you change your VM Heap size. (NOTE: ENABLING THE HTTP SETTING IN STAGEFRIGHT ALLOWS FOR A RICHER HTTP BROWSING EXPERIENCE BUT WILL ALSO PUT A GREEN BAR ON YOUTUBE VIDEOS. KEEPING IT SET TO FALSE WILL AVOID THIS GREEN BAR AND SHOULD NOT AFFECT OVERALL PERFORMANCE!)
VM Heap-Not exactly sure what the technical aspect of it is, but increasing the vm.heap gives the dalvik cache more room to work with, thus making your memory faster. THIS NUMBER SHOULD NOT BE SET BELOW ANDROID DEFAULT WHICH IS 24. And should also not be set above 44. If you want to change this number, add or subtract 4 within the above values, 24-44.
Phone Edit- Found numbers for min free KB. sys/module/lowmemorykiller/parameters. 1536, 2048, 4096, 5120, 5632, 6144. Assuming these are new guidelines. Will edit fully tomorrow. Don't change these settings. They are system parameters and should NOT be changed.
SYSCTL- To edit these settings, open your file explorer, hit the ETC folder. Scroll to bottom and find sysctl.conf, long press and open in text editor. So far I can only say there are three settings here you need to adjust. First is MIN FREE KB. This number will not be the same for everyone, although I can tell you setting this number above 8192 will slow the phone down, most people report anything over 4096 slowing the phone down. The default is 2048, I would suggest going up to 4096 or 8192.
The second setting is vfs.cachepressure. I have this set to 10. Default is 50. Basically what I've read about this, it opens more room by setting it lower, leaving more memory free from constantly checking and clearing the cache. Read more here http://forum.xda-developers.com/showthread.php?t=523707&page=12
The Third setting is oom. It's the last value in sysctl.conf and needs to be set to 1 for everyone. Instead of your phone starting to kill apps when it's out of memory, it does something else that I didn't quite understand, and this should add speed to everything you do, like surfing or Facebook. Everything should load faster and smoother with this setting enabled. Remember stock value is Zero and may only be set to 1 or 0.
If this helped, please hit Thanks!!
Click to expand...
Click to collapse
Try /system/etc micro. Same thing.
Sent from my Zio using XDA Premium App
Current settings.
4096
95
60
50
Oom
VM heap 30
Stqgefright all but http
Running fast and stable. Launcher pro Orientation from portrait to landscape is faster. Home loads instantly even though I am not using a launcher from /system/app
I will be doing some more tweaks to speed this up but maintain some battery life.
Sent from my Zio using XDA Premium App
I have Stagefright fully enabled. Running 2048 Free KB. Stock radio and background. Turned oom to 0. Zoomin right along.
Sin. How did you edit sysctl.conf I can't find it in ETC
Sent from my Zio using XDA Premium App
Thanks! /system/etc still nothing. I have rtecdc_apsta.bin and void.fstab no luck still.
sinisin said:
Try /system/etc micro. Same thing.
Sent from my Zio using XDA Premium App
Click to expand...
Click to collapse
Looks like we need to include sysctl.conf in the next theme update.
Sent from my Zio using XDA Premium App
I've been trying to recover some space on my Nexus one and have been largely successful in doing so with a combination of tricks, but while looking at my partitions and tallying up the numbers something didn't seem to be adding up right; the unit is supposed to have 512MB flash, but I was coming up about 60MB short.
I found this thread which discusses the partition layout of the N1; the sizes they show all seem to match up well with what my device shows. Now, the hex address of the end of the last partion (user data) ends just a couple MB short of 512MB; the start of the first partion (misc) however seems to start over 60MB into the memory space... is there a reason for this, and if so what's occupying those lowest 63.75MB of flash space?
Baseband, AKA "radio", is what you're looking for. Unless you want your Nexus not to boot anymore, it's not advisable to try and repartition baseband space.
Instead of working hard and uselessly wasting effort, use A2SD or any other kind of linking to SD-mounted EXT partition. No matter what you try, Nexus doesn't have nearly enough internal space for any common use.
That answers my question, thank you.
As I mentioned in my original message, I was successful in freeing enough space on my device; a combination of moving apps and libraries (copy to system/lib and symlink back to original location) into the system partition and clearing out bulky or unnecessary apps has left me with over 60MB of free data space without even having to resort to fancy A2SD business (just normal android move to SD card). I was simply curious about what was filling in the remaining space on the flash chip and the radio pretty much fits the bill.
As someone with pretty average amount of user apps (a bit less than 100) and 700 MB user space taken, I can't see the point in doing what you mentioned for anything but pure fun. But if that suits you - I won't argue.
Well, by my app drawer I'm sitting at ~125 (44 purely in data, 34 moved to SD with standard android method, rest either native system or moved there) apps, and if my "puny" N1 can have 60MB free and not even need ext-style A2SD I'm not quite sure how the N1 doesn't have "nearly enough internal space for any common use". Seems to me the point (not "pure fun" as you dismissively imply) of doing what I've done is to able to keep using a pretty decent phone that still has more than enough storage space if you make the least bit of effort to manage it.
But hey, who am I to judge if you prefer to buy whatever latest phone the carriers tell you you should want every 12 months just so they can cram more bloated apps on it?
I appreciate the answer to my initial question about what's using the lowest block of flash storage (I was simply curious about what was using it - I couldn't find information if it was flash overprovisioning or some other low-level portion of the OS using it), but I don't really appreciate the unnecessary negative attitude and commentary for what was just a simple question. Thanks anyways.
I guess you didn't understand my point(s). I'll elaborate:
First and foremost, my point is this: N1 is a crap of a phone. Having it for over 1 year, and trying to adapt it to my wife for 3 or 4 months later on before giving up on it, taught me that this phone can't be dealt with by anyone who doesn't want to accept its touchscreen limitations. It was so refreshing having the phone (MT4G in my case) just react without fuss and not expecting it to crap out at any given time - not even mentioning the huge speed-up. The price of "upgrade" (selling the N1 and buying any previous-generation phone, like DHD/MT4G/DS/DZ) can be brought down to as low as $50, and the benefits are huge, I already wrote it a couple of times on the forum.
To the storage point (actually, several points):
N1's NAND is painfully slow, compared to anything, even to regular Class 2 SD card. You can try copying any large file from NAND to EXT and back, from NAND to NAND and from EXT to EXT and see what takes more time. You're likely to discover that A2SD actually adds performance instead of hurting it.
My app data (/data/data/*) alone takes roughly the same space as your whole internal /data storage has, so I guess the amount of apps alone isn't that meaningful of a measurement. I still call it a perfectly normal and average data usage - I don't have anything special installed, no heavy games that save 200+ MB of data on internal memory, just apps like Goggles, Flash, iGO and a couple of other big apps that aren't movable by normal means (and tend to crap the system out when they're forced to move). The problem in your approach is not even the one-time amount of work you had to invest to make that space, but the amount of work you'll have to invest to keep the phone running - moving system updates to /system upon every update, clearing browser cache, etc - generally, keeping things in constant check. Free time is something you learn to appreciate when you don't have enough, and more hassle-free setup is always preferred IMHO.
But again, different people have different needs, so while I can post my point of view - I don't argue with yours.
Thank you for elaborating, actually; it clarifies much that was not apparent in your earlier posts. This thread isn't really about the pros and cons of the N1 so all I'll say is that the advantages of the N1 (small size, OLED, build quality, tricolor trackball LED, etc..) still outweigh its manageable downsides for me, even compared to very modern handsets - so I'll stick with it until I can find a suitable upgrade that I'm happy with (is it so hard for HTC to make a <=4" qHD AMOLED? Seriously...).
Your point about the NAND being slow is interesting; this is something I hadn't heard and will have to benchmark; if it pans out it would be a point in favor of A2SD, but not really in favor of replacing the device over it
The upkeep I don't find that bad; Titanium backup makes integrating updated system apps a single touch for the batch, and I've only got a couple libraries symlinked into system that are unlikely to be frequently updated. With the space I've freed I shouldn't need to clear browser caches nearly as often - so it actually saves me time and frustration regularly for the one-time effort.
Thanks again for taking the time to reply and to clarify your points
If a2sd+ doesn't work for you you could do custom mtd partitions like I did using fireats custom mtd if u google it u will find it basically you can shrink ur system partition down to almost half because it is being wasted I mean whatever size u want to define it as. I'm using miui and my system partition that i defined is 120 mb (4 mbs are free just in case) and my cache partition is 15 mb. Now that leaves 301 mbs free for user data. I have 107 user apps installed about 10 games or so and I still have 120 mb free for user data for me that's more than enough. This way ur phone won't be buggy because u will only use the system partition for ur rom again I would suggest miui since it takes minimal space and is very smooth and stable with amazing battery life (I use tiamat kernel). Hope this helped
---------- Post added at 06:57 PM ---------- Previous post was at 06:52 PM ----------
Oh if u use a2sd in conjunction with custom mtd then u can have close to 750 mb of space available for user data given that ur sd ext partition is 512 mb (which was stable for me using 8gb card) that's basically rivaling new phone memory so don't just call the nexus one off just yet it can surprise anyone that knows how to play with it or stuck with it for 2years like me lol.
I've already been using root access with shell and titanium backup to move apps and libraries into the system partition without resizing it, so I'm already using the available space there. The only major difference is you've dramatically shrunk your cache partition from the default of (IIRC) 100MB down to 15MB; this seems like a pretty huge reduction, and I feel this would have performance implications, especially when running larger apps...
Other than that, if I find my current space as set up proves to be inadequate in the future (it seems just fine for now) then a2sd appears to be the best option for those who need even more additional space on a nexus one.
15 mb is more than enough for cache partition unless u plan to download huge 3d games and as we all know gaming isn't the reason that we have held on to nexus one for so long I haven't seen any app large enough to not install due to my partition size. I messed around with that too first I had it set at 5 mb but that made market force close every time then I set it at 10 was stable but large apps couldn't download and then I tried 15 and hasn't given me a single problem. Otherwise all that space is wasted so why not dedicate it to user data? With 20 mb partition u can download almost all games that can function on nexus one but since I'm not a big mobile gamer I stuck with 15 mb cache.
Most normal programs don't use /cache.
To fix your cache market issue:
Code:
su
busybox mv /cache/download /sd-ext/download
ln -s /sd-ext/download /cache/download
If you don't have a sd-ext you could use /sdcard/download instead. The directory will already exist if you've downloaded anything from the browser, so I just remove /cache/download before linking. I used to get package file invalid errors from this setup though...
Ti backup will also let you move stuff to /system and re-odex your rom instead of shrinking /system. Sure, everytime system stuff updates you need to click a few times, but unless space is real tight, it works fine. The re-odex-ed rom seems to boot faster for me than with external dalvik-cache, too, but that could just be me pretending. I've never busted out the stop-watch.
I like to keep apks on a2sd and put dalvik-cache on internal memory. It's kinda like raiding the two interfaces together to get the sum of the bandwidths of both when launching a program.
siberx: I'm sticking with the N1 until I find a decent phone that has been designed to fit in my pocket instead of sitting in a purse or on the bar too... I considered the glacier for a while, but, near as I can tell, the only benefits of going there are better touch screen and gpu.
I used firerat's mtd patch to rejigger my girlfriend's desire paritions to something more sensible (something like a 230mb system partition stock? ridiculous!) and that worked smashingly; the same trick against my N1 didn't go so well though. Seems like my Nexus with CM6.1 on it is still using the cache partition for dalvik at least partially, and I think shrinking it down to 20mb made it too small to boot right. Not a big deal anyways; I've got enough space to work with as is
I tried to do some benchmarks on my internal flash for comparsion, but the only decent benchmark I could find (without getting manual about it on command line) was Passmark's mobile benchmark; problem is they wan't 90MB free to run the internal memory benchmark, so my 60MB isn't cutting it for that
Anybody know of a decent benchmark that will bench both internal and SD read/write speeds that doesn't need such a huge chunk of free space?
ezdi: I considered for awhile buying a G2 for the faster CPU/GPU and improved touchscreen, but ultimately decided against it due to the extra weight and thickness (combined with the nexus' other advantages like OLED and tricolour LED). Eventually some manufacturer will figure out there's a still a market for compact high-end phones...
ezdi said:
siberx: I'm sticking with the N1 until I find a decent phone that has been designed to fit in my pocket instead of sitting in a purse or on the bar too... I considered the glacier for a while, but, near as I can tell, the only benefits of going there are better touch screen and gpu.
Click to expand...
Click to collapse
Better touch screen is a reason enough by itself.
GPU, much faster and bigger internal memory (both system and data), much faster and bigger RAM, and most of all - 90% HW-compatibility to one of the most popular devices in the world (DHD) - means staying updated and speedy with ROMs that fly where they crawl on Nexus (if they exist at all). Plus - all ROMs besides ICS are 100% functional, CM, MIUI, Sense 3/3.5, you name it. And if it's not enough, 20% hassle-free overclock is standard.
From quite satisfied Glacier owner.
my 2c about compcache (now "zram") and swap
Both compcache and swap are used to improve performance AND maximum number of open apps.
1)How they work:
swap is the classic way to "increase" ram on a system.
Swap is a space on a non volatile memory (="not ram") where unused ram data are parked instead of being deleted.
Swap wears(and kills) memories it is put on. It is an heavy access file. Sdcards don't like it. They are not full-featured SSD Disks. Think of your photographs
Compcache is the new way to "increase" ram on a system,
compcache :
-reserves a part of you ram (cache),
-then it looks for unused data sitting on remaining, "real", ram,
-compresses these unused data (with a very primitive,loseless, algorithm) and
- send them to its cache OR to swapfile.
Compcache's trick works well when you have lots of higly,easily, compressable data in your ram. Text is higly compressable, an executable is less compressable.
1a)
-if, after compression , data are still "big" (compressed data > original data /2), then compcache sends compressed data to swap, not to cache.
-and when compcache is full, unused compressed data are sent to swap.
2) because of compression involved, compcache uses more cpu cycles than classic swap.
3) settings of both depends on
-hardware specs of the system.
-use of the system
4) compcache+swap is better than swap alone if your ram is filled with EASILY compressable data.
4a)Remember point 1a : compcache has a simple compression algorithm, and ALWAYS first compresses data.
AFTER COMPRESSION it decides if keeping them in cache or sending them to swap. This means that
if compcache has always to work with not compressable data, it will compress them AND send to swap. this means double work: compression AND swap access.
4b) First practical conclusion :
compcache is useful for people using LOTS of text-intensive apps (forums, webpages, docs, facebook)
compcache may be useful in apps using SIMPLE still images (some games, driving assistant)
compcache is useless in multimedia activity (watching youtube, movies, photographs, listening to mp3s, playing some other games.)
5) The swap file.
As told at the beginning, swap, both improve performance(=speed) AND number of apps simultaneously open.
Lets' take a look to the PERFORMANCE thing.
5a)On "classical" (fragmented, not-SSD hard disk) systems, a swap file is always faster than retrieving datas from original disk locations. EVEN IF the swap file is on the same disk where original datas are.
This happens mainly because :
5a1)-data in swap file are less fragmented, needing less seek time.
5a2)-swap file is usually put in the external (=fast) zone of an hard disk,
5b)On SSD systems (phones included) 5a1 and 5a2 are not true, and a swapfile is USELESS IN IMPROVING PERFORMANCE EACH TIME THAT it is keeping data which are already present on its same phisycal memory.
Examples :
5b1)opera browser executable is on phone memory; but Opera-cached-webpages have been moved on sdcard via app2sd.
In this situation a swap file on sdcard is obviously useless to improve internet browsing with Opera.
5b2) i use apps (facebook, Whatsapp) which DON'T have a good caching of their own. Swap could be useful: it could avoid re-downloading data from the internet.
Now, the INCREASE MAXIMUM NUMBER OF OPEN APPS argument.
This is always true.
So:
5c)swapfile on SSD speeds up multitasking ONLY IF you use apps that
-badly manage (or don't have) a cache of their own.
-don't like force closing
Since this seems to happen very often to android apps, a swapfile is useful.
5c1)Swapfile could speed multitasking also IF an app's well-designed-cache is on a media WAY SLOWER than swapfile (but this is not LG O2x situation: it has a class10 internal memory).
So, my 2 cents about "increasing" RAM in LG O2X is :
-leave apps on phone memory, and put swap on a class10 sdcard.
-enable compcache only if you use lots of text-rich apps.
First: I think this doesn't really fit into the development section.
Then: I can't second the post you made.
mercxda said:
Both compcache and swap are used to improve performance AND maximum number of open apps.
(...)
As told at the beginning, swap, both improve performance(=speed) AND number of apps simultaneously open.
Click to expand...
Click to collapse
zRAM does NOT improve the speed of your device. Everything that's in the reserved zram storage will get compressed and decompressed, which takes some time (and cpu).
Swap is performing even worse. Instead of the fast RAM or the semi-fast compressed zRAM usage it's swapping onto the slow SD.
Sure, you can increase the maximum number of open apps, but the price is a lower performance.
So you're probably just meaning multitasking performance.
But still I can't agree to your conclusion:
mercxda said:
So, my 2 cents about "increasing" RAM in LG O2X is :
-leave apps on phone memory, and put swap on a class10 sdcard.
-enable compcache only if you use lots of text-rich apps.
Click to expand...
Click to collapse
As I wrote above zRAM is way faster than swap. So zRAM should be the first choice if you're running into low RAM situations.
If you still need more go and enable swap as well.
Last but not least:
Why are you talking about compache all the time? It's called zram nowadays, so call it that way.
tonyp said:
First: I think this doesn't really fit into the development section.
Click to expand...
Click to collapse
First : thanks for your interest in this post . I partially agree with you: this post is on the borderline beetwen Q&A and Development, because swap is not a development matter, it's standard unix's way of working.
On the other side zram's use,way of working, and even its inclusion (or not) itself in default installs, is still under development.
https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2012-December/014122.html
Sure, x86/x64 is not ARM. And CM is not ubuntu.
Then: I can't second the post you made.
zRAM does NOT improve the speed of your device. Everything that's in the reserved zram storage will get compressed and decompressed, which takes some time (and cpu).
Swap is performing even worse. Instead of the fast RAM or the semi-fast compressed zRAM usage it's swapping onto the slow SD.
Sure, you can increase the maximum number of open apps, but the price is a lower performance.
So you're probably just meaning multitasking performance.
Click to expand...
Click to collapse
I, again , partially agree, i was fundamentally talking about multitasking performance. And sure, zram takes cpu cycles... I reserved a full, standalone point to say that.
But
i wouldn't be so sure about one being better than the other. My arguments are in the original post.
As I wrote above zRAM is way faster than swap. So zRAM should be the first choice if you're running into low RAM situations.
If you still need more go and enable swap as well.
Click to expand...
Click to collapse
As I wrote, and argumented, before, compcache/zram is way faster in a way limited range of situations.
Last but not least:
Why are you talking about compache all the time? It's called zram nowadays, so call it that way.
Click to expand...
Click to collapse
Because
1) I'm an old cat.
2) "Compcache" is a well chosen autodescriptive term.
3) It's been "compcache" for over 4/5 of it's life, and, well...
4) I'm an old cat. ;D
Have fun, and thanks for all your work in O2x developing.