Can anyone direct me to a guide somewhere?
I'd like to make an ext partition? Or would I? Is Swapper 2 just as fast? Tradoffs? Anyone run into their sd card wearing out yet?
bueler?
The message you have entered is too short. Please lengthen your message to at least 10 characters.
The consensus seem to be "do not use" except as 'last resort', and only needed on phones with 256MB or less of mem.
I wrote this, and I am waiting for a technical review from some experts in this field.
http://forum.xda-developers.com/showthread.php?t=897823
kschang said:
The consensus seem to be "do not use" except as 'last resort', and only needed on phones with 256MB or less of mem.
I wrote this, and I am waiting for a technical review from some experts in this field.
http://forum.xda-developers.com/showthread.php?t=897823
Click to expand...
Click to collapse
I have 256MB ram
At the moment, Compcache is good enough, but I can't help but wonder how much better it could be with swap instead of Compcache.
edit: "For example, If you have a 256MB system (shows as 262MB due to 1024 vs. 1000 KB size difference) and have 130MB of apps and data/cache loaded, then that leaves about 130MB for the system to actually RUN programs. That sounds like a lot, but in reality that is not enough, since the system itself takes 50-80MB, and services will take up another 30-50MB, leaving almost nothing. "
quick review, you don't appear to be differentiating between RAM and Flash? Having more apps installed shouldn't increase RAM usage at all. Unless I gravely misunderstand the Android OS, if I install a new program, it resides in the system flash, not the RAM, until I run it, at which point it gets loaded to RAM. When the system needs memory and no swap or Compcache is in use, it writes the state of the application to the flash and removes it from RAM.
What the swap does is similar to what compcache does-- compresses apps that are currently in RAM, and moves them to the swap space. In the case of Compcache, this is in the RAM. But since you're compressing it, background apps don't take nearly as much RAM, and you get an app switching speedboost because the processor can uncompress the compcache'd program, "move" it to RAM, compress the currently running program in RAM, and "move" it to the compcache. Forgive me if you already said this, I can't read the entire thing at the moment.
As for swap, I'm not sure if the processor compresses before going to the hard swap file, I don't think that it does-- when android starts getting low on RAM, it moves what was in RAM, to the swap on the SD-card. Since it does this when the system is low on RAM, and not when the system runs out of RAM, you never notice it. Reading the app back from the SD card happens almost instantaneously, because the sd cards can be read from at a speed of at least 20MB/s, maybe more. When you're restoring an app to RAM, 20MB/s is plenty.
edit2: I'm sorry but this guide is too vague to be anything more than moderately informative. Comments like:
-"CompCache, or "compressed cache", is handled by the Linux kernel. It takes a portion of your memory, and use it as a cache space, but compressed. By using on-the-fly compression it is able to make your memory appear to be a bit larger than it actually is. However, the result is slower performance.
This is usually NOT tweakble without mod ROM such as Cyanogen Mod. The kernel also must support this feature, and not all do. This also slows your phone. "
-"...swap space by either creating a swap file or a swap partition. This adds a lot of read/write action to your SD card and may substantially decrease its usable life."
-"This really slows your phone."
People wouldn't be doing these things for no reason. Compcache does not "make your memory appear a bit larger", when it at least doubles the amount of usable RAM-- when you allocate 60MB, if you average 75% compression (I usually see between 65% and 80%), do you know how much RAM this effectively nets you? Over at least 60MB extra, usually about 80! So my phone goes from having 256MB ram to having 340 effectively. Having your processor overclocked minimizes any slowdown from the compression/decompression; I haven't noticed any slowdown, and having the "extra" RAM definitely has made my phone more able to multitask.
You basically discourage users from doing ANYTHING like swapping, compcaching, etc to their phone, saying it "slows it down" and "can substantially decrease your SD Card's life". My experience has been otherwise regarding slowing it down, and regarding the SD card, the only part that would actually go bad is the swap partition. If you put that at the end of the drive, when it goes bad, you'll know, and you can just move the partition back 300MB and put your 300MB swap there. We haven't heard of any users' cards going bad from this yet. Also, if you have a class 6+ SD Card, they implement wear leveling on the card, so you don't need to worry about wearing out any individual bits.
Sorry, I'm just not digging it.
rancur3p1c said:
I have 256MB ram
Click to expand...
Click to collapse
Me too, me too...
At the moment, Compcache is good enough, but I can't help but wonder how much better it could be with swap instead of Compcache.
Click to expand...
Click to collapse
So try it. With CM612, I have CompCache AND Swap (through Swapper2 / 128 MB) turned on. It slows down every once in a while but my programs don't crash any more.
edit: "For example, If you have a 256MB system (shows as 262MB due to 1024 vs. 1000 KB size difference) and have 130MB of apps and data/cache loaded, then that leaves about 130MB for the system to actually RUN programs. That sounds like a lot, but in reality that is not enough, since the system itself takes 50-80MB, and services will take up another 30-50MB, leaving almost nothing. "
quick review, you don't appear to be differentiating between RAM and Flash? Having more apps installed shouldn't increase RAM usage at all. Unless I gravely misunderstand the Android OS, if I install a new program, it resides in the system flash, not the RAM, until I run it, at which point it gets loaded to RAM. When the system needs memory and no swap or Compcache is in use, it writes the state of the application to the flash and removes it from RAM.
Click to expand...
Click to collapse
At first I thought the same way you did, until I started looking in "diskusage".
According to diskusage, there is no separate RAM. 256MB is 256MB. App storage is where everything goes, and what's left is used to load services and such. The numbers I added up matches. I have 256 MB phone. 100 is for apps, which leaves about 150-160. System itself takes 50-80 (acore, gapps, phone, system...) then add a few services and you're down to 30-40 MB free to actually run the programs. The numbers seem to match up to what's shown at the bottom of "Manage Services".
I know it's weird, but perusal of Android developers kit doesn't contradict this understanding.
What the swap does is similar to what compcache does-- compresses apps that are currently in RAM, and moves them to the swap space. In the case of Compcache, this is in the RAM. But since you're compressing it, background apps don't take nearly as much RAM, and you get an app switching speedboost because the processor can uncompress the compcache'd program, "move" it to RAM, compress the currently running program in RAM, and "move" it to the compcache. Forgive me if you already said this, I can't read the entire thing at the moment.
As for swap, I'm not sure if the processor compresses before going to the hard swap file, I don't think that it does-- when android starts getting low on RAM, it moves what was in RAM, to the swap on the SD-card. Since it does this when the system is low on RAM, and not when the system runs out of RAM, you never notice it. Reading the app back from the SD card happens almost instantaneously, because the sd cards can be read from at a speed of at least 20MB/s, maybe more. When you're restoring an app to RAM, 20MB/s is plenty.
edit2: I'm sorry but this guide is too vague to be anything more than moderately informative. Comments like:
-"CompCache, or "compressed cache", is handled by the Linux kernel. It takes a portion of your memory, and use it as a cache space, but compressed. By using on-the-fly compression it is able to make your memory appear to be a bit larger than it actually is. However, the result is slower performance.
This is usually NOT tweakble without mod ROM such as Cyanogen Mod. The kernel also must support this feature, and not all do. This also slows your phone. "
-"...swap space by either creating a swap file or a swap partition. This adds a lot of read/write action to your SD card and may substantially decrease its usable life."
-"This really slows your phone."
People wouldn't be doing these things for no reason. Compcache does not "make your memory appear a bit larger", when it at least doubles the amount of usable RAM-- when you allocate 60MB, if you average 75% compression (I usually see between 65% and 80%), do you know how much RAM this effectively nets you? Over at least 60MB extra, usually about 80! So my phone goes from having 256MB ram to having 340 effectively. Having your processor overclocked minimizes any slowdown from the compression/decompression; I haven't noticed any slowdown, and having the "extra" RAM definitely has made my phone more able to multitask.
Click to expand...
Click to collapse
It also seriously depends on your SD card. I've read reports on Phandroid that said class 6 or 8 microSD cards would provide almost lag-free swaps, but that's on a G1 (which is already a slow phone).
You basically discourage users from doing ANYTHING like swapping, compcaching, etc to their phone, saying it "slows it down" and "can substantially decrease your SD Card's life". My experience has been otherwise regarding slowing it down, and regarding the SD card, the only part that would actually go bad is the swap partition. If you put that at the end of the drive, when it goes bad, you'll know, and you can just move the partition back 300MB and put your 300MB swap there. We haven't heard of any users' cards going bad from this yet. Also, if you have a class 6+ SD Card, they implement wear leveling on the card, so you don't need to worry about wearing out any individual bits.
Sorry, I'm just not digging it.
Click to expand...
Click to collapse
Constantly reading and writing the file will cause that area to get much heavier use and eventually cause it to fail the bootup "checking SD card". The only question is how much life is taken away.
I am running my Droid on 24% CompCache AND 128MB Swap right now. Occasional lag but otherwise runs quite well. It's also overclocked to 1.2 GHz with P3Droid's kernel. So I do practice somewhat of what I preach...
so if I have 512MB of ROM, and 256MB of RAM, and I fill up my ROM with programs, how much RAM do I have?
I don't follow how what you said can be.
SD Card writes-- SanDisk guarantees theirs for 100K writes to any given sector...that's good enough for the swap to not be a problem in the near future IMHO.
let's put it this way...
Here's the specs of Moto Droid from Motorola itself (http://developer.motorola.com/products/droid/)
RAM 256 MB
FLASH ROM 512 MB
USER STORAGE AVAILABLE (MAX) 256 MB
So the REST of the ROM clearly is to hold the Android OS itself. The actual programs you can load for running? 256MB. That's app storage.
I've always wondered if there's a way to read the actual ROM contents and enumerate that... But that's for another topic.
Found this useful post: boot process of Android OS
http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html
Furthermore, I noticed that the "built-in" apps (i.e. bloatware) are actually just stuff left in the "system" dir which can only be accessed with root permission. So they are NOT store in "ROM" per se, but more like "part of boot rom".
I have to find explanation on how an app is loaded, but that helps...
Aha, so that's the term they used... Application Lifecycle.
http://www.youtube.com/watch?v=ITfRuRkf2TM
Okay, I take back what I said. Apps are loaded into RAM, but HOW things are allocated wasn't that clear.
From what I understand, apps, when they are killed by system, some exit gracefully by writing their instance "state" (data and cache) to app storage. Some just exits.
Browser will write the URL, for example. When the browser is "resumed", the process is loaded, then the instance loads back the URL and it's as if nothing happened.
I'll have to revise the paper, AND I haven't figured out what to say about swap and compcache yet.
Made some corrections.
On 256MB machine, 30MB is used by deep system buffers (not part of OS), another 32 for OS cache, so about 190 or so is available the OS itself to load apps and services, and just the default gapps, system, phone, and so on is about 60MB. So a fresh clean phone should ahve no more than 120-130 MB free. If you load a couple apps with autostart services, it'll quickly drop below 50MB.
http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android
Another piece of the puzzle... The numbers at the bottom of "Manage Services" is as explained below:
(quoting from http://android-developers.blogspot.com/2010/02/service-api-changes-starting-with.html )
"Finally, along the bottom of the screen are some obscure numbers. If you know how to interpret them, this gives you a lot of information on the memory status of your device:
* Avail: 38MB+114MB in 25 says that the device has 38MB of completely free (or likely used for unrequired caches) memory, and has another 114MB of available memory in 25 background processes it can kill at any time.
* Other: 32MB in 3 says that the device has 32MB of unavailable memory in 3 unkillable processes (that is, processes that are currently considered to be foreground and must be kept running)"
The order is reversed in Android OS 2.2. Mine says
Other: 75MB in 5 Avail: 18MB + 20 MB in 3
Which should mean 75MB in 5 unterminable tasks, 18 MB free (or can be freed easily), plus another 20 MB used by 3 processes that can be killed to free up.
ProCrank says...
39911K System_server
15756K acore
12982K swiftkey
10136K DIY Screensaver (lock screen)
9392K Phone (system)
9093K ATKfroyo
6834K Terminal
3984K JuiceDefender
3785K Screebl
3482K system MMS
3329 SeePU
3244K Bluetooth
3199K SetCPU
1979K Zygote (which is Dalvik init)
1425K Mediaserver
and the rest is native system code well under 1MB in size.
If you add System_server, Phone, Zygote, Acore, and foreground app (terminal and procrank) you get about 75MB. It would be nice if that screen TELLS you which program it considers to be unterminable, but, oh well...
I own a samsung galaxy tab 2(GT p3100), which initially had 4.0.4 ICS with 687 MB RAM(but specified as 1 GB RAM, as some developers claim that it is being reserved for system). I updated my firmware to 4.1.2 and now it showed me 770 MB RAM. later i rooted my device and installed the latest CM(cyanogenmod) 10.1 (jelly bean 4.2). To my surprise this rom which has less bloatware and is smoother, it showed me 691 MB RAM, less than 770 MB as displayed by the STOCK jelly bean OS.
i would like to ask, which OS(custom/stock) displays the MAX RAM for GALAXY TAB 2 7.0(P3100)???????
as i don't ve enough internet downloading capacity(limited downloads), i can't just go on downloading all the firmwares and keep flashing everytime, SO EXPERIENCED USERS, PLEASE SUGGEST.
for more info(for my knowledge), do please tell this also--------->tab 2(my device specifies 1 GB RAM and the same does galaxy s2, but why with ICS(4.0.4) installed both the devices show different MB RAM. tab2 shows around 680 MB wheras S2 shows around 880 MB, wheras HTC one X shows 1 GB.
why is this so????? i know some developers claim that this RAM is being consumed by system or reserved for system, but why is it different for different devices, when the OS is the same?????
again if you claim that it is reserved by the android system, then WHY DO , WITH NO APPS INSTALLED TOO, I SEE AROUND 300-400 MB RAM BEING USED(300 MB WHEN I DNT USE ANY WIDGETS AND ALL, AND I STOP ALL THE PROCESSES, BY CLICKING FORCE STOP ON ALL APPS LIKE GMAIL AND EVERYTHING EXCEPT ANDROID SYSTEM AND PHONE AND SOME NECESSARY RED MARKED APPS IN THE DEFAULT TASK MANAGER).
if android process is being displayed here with this 770 MB ram, then where has the 230 MB ram gone------------>do you mean the android process consumes the hidden RAM and also a part of this RAM too???????------------------>this sounds too unpleasant, when htc one x displays all the specified RAM but my tab fails.
really disapponting
You are getting too excited about available RAM. The OS system manages available RAM so each different ROM will use it a little more or less.
The amount of free RAM has nothing to do with how many apps are stored, ONly how many apps are RUNNING. Android system efficiently manages RAM and tries to keep it about 80% full all the time. So called Bloatware (one mans bloat is another mans useful app) has nothing to do with speed , they do nothing if you don't run them.
The system RAM usage contained OS buffers, temp storage and system routines that are always loaded for speed.
1GB is a ton of RAM for android.
You do not have a RAM issue.
You can run out of SD storage space for downloaded apps if you store too many. But you have several GBs of storage so that's hard unless you are a real pack rat.
DigitalMD said:
You are getting too excited about available RAM. The OS system manages available RAM so each different ROM will use it a little more or less.
The amount of free RAM has nothing to do with how many apps are stored, ONly how many apps are RUNNING. Android system efficiently manages RAM and tries to keep it about 80% full all the time. So called Bloatware (one mans bloat is another mans useful app) has nothing to do with speed , they do nothing if you don't run them.
The system RAM usage contained OS buffers, temp storage and system routines that are always loaded for speed.
1GB is a ton of RAM for android.
You do not have a RAM issue.
You can run out of SD storage space for downloaded apps if you store too many. But you have several GBs of storage so that's hard unless you are a real pack rat.
Click to expand...
Click to collapse
Right Sir,
well, regarding storage i dont ve any issue as some data like pics and vids can be kept in ext storage card too,but i also wanted to know which ROM provides user with more RAM, so that it will be good for multitasking or if i play high end games like NFS MW
fbh59 said:
Right Sir,
well, regarding storage i dont ve any issue as some data like pics and vids can be kept in ext storage card too,but i also wanted to know which ROM provides user with more RAM, so that it will be good for multitasking or if i play high end games like NFS MW
Click to expand...
Click to collapse
The amount of difference between one kernel and another (which is what really matters here) isn't large enough to make any real difference in the performance of any application. The available RAM after the kernel grabs its stuff varies around 10% from one kernel to the next.
If you want to make a performance impact, make sure you minimize the number of running applications that compete for the available RAM. However, that won't make much difference as Android is very aggressive about grabbing memory back from idle applications.
Basically, you're obsessing over something that in the end will make no difference in how your tablet runs.
fbh59 said:
Right Sir,
well, regarding storage i dont ve any issue as some data like pics and vids can be kept in ext storage card too,but i also wanted to know which ROM provides user with more RAM, so that it will be good for multitasking or if i play high end games like NFS MW
Click to expand...
Click to collapse
Irrelevant. Android will clear apps from RAM if it's needed by an app with high memory usage. This isn't windows
Sent from my DROID3 using xda premium
well, if this is the thing, and android can kill apps automatically then why do some people prefer custom ROMs like CM or AOKP.
even for installing custom ROMs they need to root their tab/phone, and if they root and want to get rid of so called bloatwares and make their OS lightweight, they can uninstall it using root uninstaller(available for free in google play)....
but why do they prefer custom ROMS?????
fbh59 said:
well, if this is the thing, and android can kill apps automatically then why do some people prefer custom ROMs like CM or AOKP.
even for installing custom ROMs they need to root their tab/phone, and if they root and want to get rid of so called bloatwares and make their OS lightweight, they can uninstall it using root uninstaller(available for free in google play)....
but why do they prefer custom ROMS?????
Click to expand...
Click to collapse
More features generally. Some roms will manage the memory better than others, ie at what point it starts to kill apps to free RAM(although this can be adjusted in any rom using rom toolbox or a similar app). many custom roms include a theme engine allowing more customiza. They may make better use of resources to decrease battery usage or because it has better cpu governors which will increase performance. They may flash a custom roms because it's kernel includes modules that aren't in the stock Kernel. There are many reasons besides RAM usage, since as you say you can root and remove bloatware and change memory handling(called minfree or oomut of memory)
Sent from my DROID3 using xda premium
I Just fonder where ROM's are installed to?
Is it installed to RAM or Phones own space...
Just help a noob. That's me when we are speaking about phones?
If it is installed to RAM, if i delete system files, can i free up RAM.
Any other ways to free up RAM? i already used ROM-Cleaner...
TheLnxDrd said:
I Just fonder where ROM's are installed to?
Is it installed to RAM or Phones own space...
Just help a noob. That's me when we are speaking about phones?
If it is installed to RAM, if i delete system files, can i free up RAM.
Any other ways to free up RAM? i already used ROM-Cleaner...
Click to expand...
Click to collapse
The rom is installed in phone memory, and deleting system files will not free up ram.
If you are having trouble with ram, try installing a swap partition in your phone memory...what that does is uses part of your phone memory as ram (you will be unable to use it for storage then)
Search for swap on the Sensation android development forum, you will find atleast a couple...read the post well before installing.
TheLnxDrd said:
I Just fonder where ROM's are installed to?
Is it installed to RAM or Phones own space...
Just help a noob. That's me when we are speaking about phones?
If it is installed to RAM, if i delete system files, can i free up RAM.
Any other ways to free up RAM? i already used ROM-Cleaner...
Click to expand...
Click to collapse
There are a few basic terms you need to understand:
RAM- Random Access Memory - Where data used by the processor is stored (like variables of calculations), and that means - what your app uses while running.
ROM - Read Only Memory - And in our context - the OS.
The ROM and RAM are different memories, by that RAM is deleted when the computer (in this case - the phone) is shut down, while the ROM (and other data stored on the flash memory) is kept.
You can use the ROM to have more RAM, by making a SWAP space.
And for general knowledge - there are a couple of partitions on our phone. What interests us is (mainly) these three:
/data - That's the storage available to us - where we install apps etc.
/system - where system apps and the ROM itself is
/boot - the kernel - what makes the whole OS tick.
Basically, unless on very limited resources, android will handle RAM without you even knowing it. However, when the phone runs with heavy apps all the time, it could get full easily. There are task killers, and also, a reboot can clean your RAM (there could be "memory leaks", however, I do not know of it being an issue on android), and allow it to start fresh.
There are also RAM tweaks such as ZRAM etc. And also, some kernels offer even more optimization.
Hello everyone,
I need some help with expanding RAM of an old android tablet of mine, more specifically, an Genesis GT-7204, using an SD card.
I rooted the tablet already and granted the app RAM Expander from Roehsoft root permissions, but when i try to use the app i get the following message: "This path is not available for swap!" Image below:
https://imgur.com/4MZ2l
The path i used was mnt/local:
https://imgur.com/6zUH7
Thanks in advance!
The images might be blocked, in any case i will post them here.
Personally have experienced that Virtual RAM ( aka SWAP RAM ) can only get created on a device's internal storage memory ( aka /sdcard ).
Hint: As path manually enter /data .
BTW:
Android since ever comes with virtual RAM ( SWAP RAM) feature. The internal storage memory used herefore is the /cache partition.
Also take note that an Android apps' memory usage by design is limited to some MBs. Even if you increase in Android's system file called build.prop the related amount, it's not sure that this is taken into account: an app's develeoper allows this or not.
And keep in mind that apps that did not fit in the RAM before without swap do not suddenly fit in the RAM.
Don't expect wonders using Roehsoft's RAM Expander. Probably you may not notice any gain in device's performance.
So i can only use my internal storage to add RAM? And not the SD card?
And to do this i have to manually set a path, but i am new at this, but i have to use /data or there is something else?
And in my case it is worth it, because this freaking tablet has only 500 MB of RAM!!!!!
jwoegerbauer said:
Personally have experienced that Virtual RAM ( aka SWAP RAM ) can only get created on a device's internal storage memory ( aka /sdcard ).
Hint: As path manually enter /data .
BTW:
Android since ever comes with virtual RAM ( SWAP RAM) feature. The internal storage memory used herefore is the /cache partition.
Also take note that an Android apps' memory usage by design is limited to some MBs. Even if you increase in Android's system file called build.prop the related amount, it's not sure that this is taken into account: an app's develeoper allows this or not.
And keep in mind that apps that did not fit in the RAM before without swap do not suddenly fit in the RAM.
Don't expect wonders using Roehsoft's RAM Expander. Probably you may not notice any gain in device's performance.
Click to expand...
Click to collapse
So i can only use my internal storage to add RAM? And not the SD card?
And to do this i have to manually set a path, but i am new at this, but i have to use /data or there is something else?
And in my case it is worth it, because this freaking tablet has only 500 MB of RAM!!!!!
pprg1101 said:
So i can only use my internal storage to add RAM? And not the SD card?
And to do this i have to manually set a path, but i am new at this, but i have to use /data or there is something else?
And in my case it is worth it, because this freaking tablet has only 500 MB of RAM!!!!!
Click to expand...
Click to collapse
Honestly I never used Roehesoft's RAM Expander on a real Android device and I'll never will use it: In my eyes it's crap. And, you'll find no serious confirmations in the WEB that it works as claimed.
Android for good reason doesn't come with SWAP feature. Android's Memory Manager frees RAM if necessary.
It's on you to play around with Roehesoft's RAM Expander. Good luck.
My last 2 cents here:
SWAP is a place on the internal storage memory (usually a dedicated partition) that is used to store programs or data that can't fit in memory, like when a program grows more than the available RAM (BTW: In the world of Windows this space is called Swapfile.sys ). SWAP is way slower than RAM, so when you create / enable SWAP the phone gets slower, but at least the program can work.
All the stuff that can't or shouldn't stay in your RAM is written out to SWAP and read back in when needed. This means that the SWAP medium needs to be fast and resilient to lots of writes.
IMHO using an external SD card as SWAP fails on both counts. It is slower at reading/writing than a phone's internal drive, and each of its constituent sectors can only be written to a limited number of times before they wear out and can no longer reliably store data.
SC pl