Related
I've always run compcache on my ROMs when possible and I recently had the idea that setting the full amount of RAM to compcache could be an interesting test. The theory being that it may be slightly slower overall to have ramzswap compressing pages, but minfree would have heaps of memory to play with and apps would never quit, so multitasking would be faster as no apps are writing out to /data and then having to relaunch when I switch to them again.
I've set compcache with the init script like so
Code:
insmod /system/lib/compcache/ramzswap.ko;
rzscontrol /dev/block/ramzswap0 -i -d 98304;
busybox swapon /dev/block/ramzswap0;
And Linux reports the swap is working
Code:
# free
total used free shared buffers
Mem: 107332 105972 1360 0 8
Swap: 98296 48940 49356
Total: 205628 154912 50716
But no matter what I do, even if I launch a heap of apps, I can never get swap usage above the ~48Mb RAM seen here.
Furthermore, apps like Auto Killer and Free Memory only report I have 102Mb RAM total.
What's going on here? Why does Android think it only has 100Mb when free is reporting near on 200Mb total? Why does compcache only fill up halfway and no more? Does this mean that ~48Mb RAM is the "sweet spot" for compcache and any more is pointless?
The phone does feel faster when switching between apps but I could just be imagining it. Out of interest this is a 32B Magic running Dwang 1.17.1, which is basically just Donut AOSP with a faster framework and kernel.
Any ideas/help/suggestions would be appreciated?
Swap is never, ever, regarded by the system as real memory, hence why the system won't report it, since you really only have ~100 mb physical ram.
As to why you're only using 48, I believe that 48 is 1/2 96, so it probably means pages are being compressed 2:1, so the full memory is being compressed and dumped into RAM, and it only occupies 48 MB, leaving you 48 free for other processes.
Again, remember comcapche is swap, not real memory.
jubeh said:
Swap is never, ever, regarded by the system as real memory, hence why the system won't report it, since you really only have ~100 mb physical ram.
As to why you're only using 48, I believe that 48 is 1/2 96, so it probably means pages are being compressed 2:1, so the full memory is being compressed and dumped into RAM, and it only occupies 48 MB, leaving you 48 free for other processes.
Again, remember comcapche is swap, not real memory.
Click to expand...
Click to collapse
I don't think that that analysis is quite right....
First off, you MUST maintain SOME amount of real memory available... otherwise it'll crash in a spectacular way. I believe that the linux kernel itself may have a safety feature that maintains a certain minimum amount of physical ram available. There ARE certain things that the linux kernel will not be willing to swap, such as ITSELF.
Just imagine what would happen if the kernel swapped itself..... any attempt to do this wouldn't end well. Especially if it tried to swap its ENTIRE self since the kernel MUST be in memory in order for it to run.
There is also the swappiness setting... it controls the system's tendency to swap.
And finally, there is the possibility that you may simply not be starting enough processes to consume the full memory!
So imagine this; you have your compcache set for a certain size. It grows to that size and then finally, the kernel says "screw you, you can't have any more memory!" blows an error back to compcache, which complains back to the kernel "sorry, swap is screwed." Yep.... the kernel tells compcache which tells the kernel rather than the kernel just knowing.
You definitely don't want this happening.
Note: I can forsee some serious stability problems that this could result in related to the low memory process killer. Specifically, your compcache grows to its maximum allowed size, you start an application, the low memory process killer figures that you've got plenty of memory available, doesn't kill anything off, tries to start some application, crashes spectacularly when the kernel complains back that it doesn't have any memory. I don't know if this would happen with a stock low memory process killer, but definitely would with the swap hacks added....
lbcoder said:
Note: I can forsee some serious stability problems that this could result in related to the low memory process killer. Specifically, your compcache grows to its maximum allowed size, you start an application, the low memory process killer figures that you've got plenty of memory available, doesn't kill anything off, tries to start some application, crashes spectacularly when the kernel complains back that it doesn't have any memory. I don't know if this would happen with a stock low memory process killer, but definitely would with the swap hacks added....
Click to expand...
Click to collapse
92 MB of compcache doesn't really need 92MB of compcache... that's the point of being compcache.
Compcache file in RAM grows when cache gets stuffed inside compcache.
Setting a low swappiness will cause compcache to just swap what's needed.
And even with full compcache, in the end you end up having around 140 mb (or so) free ram. 92mb of compcache that takes like 50mb and 42 extra mb of normal ram.
I think this idea is great (I was just too lazy to try yet...). Instead of dalvik vm having to free up memory it can stuff some more mb in compcache. should be faster.
I didn't really think my post through... but I hope some of you understood some of the things I wanted to communicate xD
domenukk said:
92 MB of compcache doesn't really need 92MB of compcache... that's the point of being compcache.
Compcache file in RAM grows when cache gets stuffed inside compcache.
Setting a low swappiness will cause compcache to just swap what's needed.
And even with full compcache, in the end you end up having around 140 mb (or so) free ram. 92mb of compcache that takes like 50mb and 42 extra mb of normal ram.
I think this idea is great (I was just too lazy to try yet...). Instead of dalvik vm having to free up memory it can stuff some more mb in compcache. should be faster.
I didn't really think my post through... but I hope some of you understood some of the things I wanted to communicate xD
Click to expand...
Click to collapse
Interesting in theory, but if you actually read what I said, you would note that this is entirely IMPOSSIBLE and would crash spectacularly if not for and in some cases in SPITE of certain safety features built into the kernel.
Note: If you have 70 MB worth of data that CAN'T be swapped, that leaves 20 MB ***PEAK*** available to compcache.
It is neither fair nor sensible to think of all memory as being equal. Running processes ***MUST*** have REAL MEMORY.
A little off-topic, but this discussion (the possibility of REAL "compressed" memory) sparked a thought/question:
Would/could KSM* bring any benefit to Android? (Not sure if the KSM module can even compile/work on ARM)
I know KSM is normally used for detecting and sharing duplicate pages among KVM guests, but I wonder how many pages in a typical running Android installation are duplicated, and thus candidates for sharing/de-duplication.
*I can't posts links yet, so those that don't know what KSM is, will just have to google for it.
lbcoder said:
There ARE certain things that the linux kernel will not be willing to swap, such as ITSELF.
Click to expand...
Click to collapse
I was under the impression the kernel keeps itself in RAM and then reports free memory to the rest of the OS. This is why the phone physically has 192Mb RAM, but only reports 96Mb free (or 107Mb with RAM hack). Perhaps my understanding of Linux/Android memory reporting is not correct?
lbcoder said:
It is neither fair nor sensible to think of all memory as being equal. Running processes ***MUST*** have REAL MEMORY.
Click to expand...
Click to collapse
I think this is likely what is happening. Home, Phone, System and other processes with a low oom are refusing to swap out as they are still running. If the compcache allocation in RAM is dynamic as domenukk says, then those processes are occupying enough RAM that the ramzswap allocation can only grow to ~48Mb as I am seeing. I didn't think of this.
Nor have I tweaked swappiness. It's currently set to 60 (default) so I'd assume it's not too fussy with paging out. I will try playing with this at 10 and 100 to see if I can force anything more into swap or if it's less willing to swap.
brainbone said:
*I can't posts links yet, so those that don't know what KSM is, will just have to google for it.
Click to expand...
Click to collapse
I do not know either, but here are some links people may wish to look at
http://fedoraproject.org/wiki/Features/KSM
http://lwn.net/Articles/306704/
http://lwn.net/Articles/330589/
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm
Ok I am not at all experienced in this area but this is just a suggestion. You say that you can only get 48mb of swap to be compressed at a time. If those 48mb were uncompressed, then that would occupy the 98mb you alloted to it. If you set the cc at say 128mb, then in (my) theory up to 64mb of it the actual ram would be used. I don't know how much sense I'm making but not sure exactly how to explain it. If you don't get it I'll try explaining my logic a little more in depth.
mejorguille said:
If you set the cc at say 128mb, then in (my) theory up to 64mb of it the actual ram would be used.
Click to expand...
Click to collapse
It appears you are right. Even with swappiness set to 100 and opening every app on my phone I'm not able to fill more than half of 128Mb compcache before minfree stats gracefully closing processes:
Code:
/opt/android-sdk-linux_86/tools$ ./adb shell free
total used free shared buffers
Mem: 107332 105956 1376 0 32
Swap: 131064 65520 65544
Total: 238396 171476 66920
Super Jamie said:
It appears you are right. Even with swappiness set to 100 and opening every app on my phone I'm not able to fill more than half of 128Mb compcache before minfree stats gracefully closing processes:
Code:
/opt/android-sdk-linux_86/tools$ ./adb shell free
total used free shared buffers
Mem: 107332 105956 1376 0 32
Swap: 131064 65520 65544
Total: 238396 171476 66920
Click to expand...
Click to collapse
I rock=p
So what's your performance like, compared to say 32mb cc or no cc at all?
It's different but I like it.
There is sometimes a slight (<2 second) pause when launching a new app (I assume this is compcache compressing old pages to swap to make way for the new app) however once the app is up and running, it almost never "exits" so switching between previously-launched apps is noticeably faster than without compcache. I run HelixLauncher Donut and it's never closed and re-launched while I've been trying this, however it did sometimes with 32Mb cc and quite often without cc at all.
I had 5 day uptime last week with 96Mb compcache (rebooted whilst testing another app for a friend) so I don't think stability is an issue. The CM wiki indicates performance with cc is better upon boot then gradually declines, even if that is the case, rebooting my phone once a week is no big issue.
Unless I run into any major issues, I'll be keeping my phone with large compcache
Super Jamie said:
I was under the impression the kernel keeps itself in RAM and then reports free memory to the rest of the OS. This is why the phone physically has 192Mb RAM, but only reports 96Mb free (or 107Mb with RAM hack). Perhaps my understanding of Linux/Android memory reporting is not correct?
I think this is likely what is happening. Home, Phone, System and other processes with a low oom are refusing to swap out as they are still running. If the compcache allocation in RAM is dynamic as domenukk says, then those processes are occupying enough RAM that the ramzswap allocation can only grow to ~48Mb as I am seeing. I didn't think of this.
Nor have I tweaked swappiness. It's currently set to 60 (default) so I'd assume it's not too fussy with paging out. I will try playing with this at 10 and 100 to see if I can force anything more into swap or if it's less willing to swap.
I do not know either, but here are some links people may wish to look at
http://fedoraproject.org/wiki/Features/KSM
http://lwn.net/Articles/306704/
http://lwn.net/Articles/330589/
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm
Click to expand...
Click to collapse
ksm sound cool. As every app runs inside dalvik vm. Not sure though... somebody should ask cyanogen
I am happy thatlarge compcache works out so well for you.
BTW doesn't cyanogenmod 5 count the whole swap as real memory since test4 or so?
Oh and overclocking ondemand to as high as possible will speed up app opening and switching a lot while on compcache
domenukk said:
doesn't cyanogenmod 5 count the whole swap as real memory since test4 or so?
Click to expand...
Click to collapse
It's counted as available "swap" memory, but not "real" ram. Pages stored in "real" ram (memory that the cpu can directly execute code in) still need to be freed up (moved to swap) before previously swapped pages can be moved back in to "real" memory to be executed.
domenukk said:
ksm sound cool.
Click to expand...
Click to collapse
The beauty of KSM is that it does no "swapping". It simply combines 4KB pages that are identical -- so instead of two identical 4KB pages using 8KB of ram, they only take 4KB. The code is executed in place.
KSM would, however, still require swap. If at any time a virtual shared 4KB page is written to, it needs to be copied to a free page to avoid corrupting the virtual page it was a duplicate of before the write. Swap is needed to ensure that there will always be enough available free pages when this happens.
domenukk said:
As every app runs inside dalvik vm.
Click to expand...
Click to collapse
KSM is not dependent on a VM, but the existence of VMs (java or otherwise) increases the likelihood of duplicate pages.
domenukk said:
Not sure though... somebody should ask cyanogen
Click to expand...
Click to collapse
I'd certainly be interested in cyanogen's thoughts on this, but I'm sure there are others that would be able to chime in as well.
Relevant excerpt from kernel.org/doc/ols/2009/ols2009-pages-19-28.pdf
KSM and embedded
KSM is suitable to be run on embedded systems too; the important thing is not to register in KSM regions that won’t likely have equal pages. For each virtual page scanned, KSM has to allocate some rmap_item and tree_item, so while these allocations are fairly small, they can be noticeable if lots of virtual areas are scanned for no good.
Furthermore, these KSM internal rmap/tree data structures are not allocated in high memory. To avoid early out of memory conditions, it is especially important to limit the amount of lowmem allocated on highmem 32bit systems that might have more than 4GB of memory, but these shouldn’t fit in the embedded category in the first place.
Click to expand...
Click to collapse
Super Jamie said:
I was under the impression the kernel keeps itself in RAM and then reports free memory to the rest of the OS. This is why the phone physically has 192Mb RAM, but only reports 96Mb free (or 107Mb with RAM hack). Perhaps my understanding of Linux/Android memory reporting is not correct?
Click to expand...
Click to collapse
Memory reporting is a tricky thing.
But in general, when RAM is allocated to HARDWARE, it is NOT REPORTED.
The chunk of the 192 that is not reported is assigned PRIMARILY to the RADIO. Another chunk is assigned to the GPU. Still more is assigned to the AUDIO HARDWARE.
The part used by the kernel itself IS reported. The most trivial empirical evidence to prove this to you is that when you change KERNELS, it doesn't affect the total system memory, despite your KNOWING that different kernels use different amounts of RAM.
Another bit of empirical proof is that activating COMPCACHE does not reduce the total physical ram reported. And yes, COMPCACHE is part of the kernel...
Now here's another concept of crash and burn: IF everything in memory could be cached in compcache, then what would stop compcache from caching compcache in a horrible infinite memory sucking loop? That would be very very bad, LOL.
I think this is likely what is happening. Home, Phone, System and other processes with a low oom are refusing to swap out as they are still running. If the compcache allocation in RAM is dynamic as domenukk says, then those processes are occupying enough RAM that the ramzswap allocation can only grow to ~48Mb as I am seeing. I didn't think of this.
Click to expand...
Click to collapse
NOW you're getting the idea! Running processes, kernel, etc., all need physical RAM (though actually those processes you mention most definitely CAN be swapped...), and therefore you CAN'T make the ENTIRE RAM into compcache!
Nor have I tweaked swappiness. It's currently set to 60 (default) so I'd assume it's not too fussy with paging out. I will try playing with this at 10 and 100 to see if I can force anything more into swap or if it's less willing to swap.
Click to expand...
Click to collapse
Just beware of possible crash-and-burn
Super Jamie said:
It appears you are right. Even with swappiness set to 100 and opening every app on my phone I'm not able to fill more than half of 128Mb compcache before minfree stats gracefully closing processes:
Code:
/opt/android-sdk-linux_86/tools$ ./adb shell free
total used free shared buffers
Mem: 107332 105956 1376 0 32
Swap: 131064 65520 65544
Total: 238396 171476 66920
Click to expand...
Click to collapse
That doesn't actually follow from what you've posted here.
What follows is that 105956-(65520/2)=73196 of what occupies your memory can't be swapped (kernel, running processes, etc.).
lbcoder said:
What follows is that 105956-(65520/2)=73196 of what occupies your memory can't be swapped (kernel, running processes, etc.).
Click to expand...
Click to collapse
Do you know why swap constantly "settles" at almost exactly half usage regardless of what size compcache I set?
For example, I set 64Mb compcache yesterday and rebooted. Just using my phone normally (browser, genie widget, music) I have this:
Code:
total used free shared buffers
Swap: 63992 32096 31896
Does this mean I am effectively reducing the amount of RAM the phone has for the kernel, "foreground app", "visible app" and "secondary servers" (to use the minfree terms), whilst at the same time allowing more "hidden app" and lower processes to swap out instead of terminating gracefully?
This disturbs me
-------------------------------------
Sent via the XDA Tapatalk App
brainbone said:
I'd certainly be interested in cyanogen's thoughts on this, but I'm sure there are others that would be able to chime in as well.
Click to expand...
Click to collapse
He doesn't know much about it, yet. But he seems inerested.
Attached a short conversation over #twitter
# Dominik domenuk
@cyanogen Is ksm any good 2 save RAM? probably not - you would have already done it http://lwn.net/Articles/329123/
# Steve Kondik cyanogen
@domenuk I don't know too much about it, I think its meant for sharing between distinct virtual machines
@domenuk it could have a lot of potential though
# Dominik domenuk
@cyanogen basically yes. But he states its also for normal apps. I have no idea to what extend android apps have similar memory, though...
# Steve Kondik cyanogen
@domenuk a lot, Android is all about IPC and shared memory. I wouldn't be surprised if the Dalvik people are thinking about it.
Click to expand...
Click to collapse
Here is a way to make Android use more than 50 percent of a swap partition. I am not sure how it will act with compcache... Should be the same... Run the following commands from a terminal or add them following to your userinit.sh file:
Code:
su
echo 80 > /proc/sys/vm/swappiness
echo 150 > /proc/sys/vm/vfs_cache_pressure
!!WARNING!! - Messing with VM settings can cause data loss and system instability... Not liable for damages...
Using the above the "free" output is:
Code:
total used free shared buffers
Mem: 97708 95168 2540 0 356
Swap: 125296 88756 36540
Total: 223004 183924 39080
While we are at it... If anyone is willing... they can try this as well:
echo 1 > /proc/sys/vm/oom_kill_allocating_task
Reference : Article to Linux Insight
Been having pretty good results with it...
Here is a link to the rest of the vm settings...
Linux Insight article listing vm settings
L8r
Hello,
I'm trying to fill a table useful to understand how much RAM is really available to the user in Android Phones.
Please try "Free Memory" by coconuts on the market or the "free" command in Terminal to let me know the total RAM of your device so that I can understand how much is reserved for hardware operations.
Please also say which ROM are you using.
Thanks
poochie2 said:
Hello,
I'm trying to fill a table useful to understand how much RAM is really available to the user in Android Phones.
Please try "Free Memory" by coconuts on the market or the "free" command in Terminal to let me know the total RAM of your device so that I can understand how much is reserved for hardware operations.
Please also say which ROM are you using.
Thanks
Click to expand...
Click to collapse
bit confusing how devices with 768mb ram have only 300mb free ram on boot.... 400mb+ ram already used by android (+sense)
then imagine a few years back devices had/still have 256mb ram..
olyloh6696 said:
bit confusing how devices with 768mb ram have only 300mb free ram on boot.... 400mb+ ram already used by android (+sense)
then imagine a few years back devices had/still have 256mb ram..
Click to expand...
Click to collapse
Some is for caching and used ram also means that it is used for a good cause but I think that android uses too much RAM, maybe it's a bit related to using Java... I cannot believe that very simple widgets eat 10-12 MB of RAM so easily.
The ram is supposed to be taken up. It allows programs to start really fast(normally). This is normal. The programs in memory are based upon what you use. Available ram is wasted space. I generrally only have ~100mb free and have 512mb total. My phone never slows except when a dev does not implenent a listview correctly. As for Widgets with big ram req that is also a developer thing.
Sent from my Incredible using Tapatalk
wow! 12mb for a widget?!
yeh i understand it runs in the background, but if you use task killers you gain more ram back... the free ram ensures better performance though? it isnt 'wasted' is it?
do htc widgets generally use alot of RAM?
olyloh6696 said:
wow! 12mb for a widget?!
yeh i understand it runs in the background, but if you use task killers you gain more ram back... the free ram ensures better performance though? it isnt 'wasted' is it?
Click to expand...
Click to collapse
it's not
android have it's own internal task killer and there is no need to install additional apps to manage RAM and keep free memory for... for what? system knows how much free mem is needed to run and will kill processes when needed.
and if you close app with task killer and then would want to run it again, it will actually take more time than if it would be kept in RAM.
deadwilder said:
it's not
android have it's own internal task killer and there is no need to install additional apps to manage RAM and keep free memory for... for what? system knows how much free mem is needed to run and will kill processes when needed.
and if you close app with task killer and then would want to run it again, it will actually take more time than if it would be kept in RAM.
Click to expand...
Click to collapse
I generally agree with you, but my heavy usage of android shows me that things can get really slow even on my oced G2, when the available ram gets under 40 things get messy, increasing the lowmem limit saved me a bit but I aim for a 768 MB minimum for my next phone.
a widget takes 12mb of RAM because of the heap size of the way android OS is setup. it assigns 12mb of RAM regardless of whether that widget needs it or not. check each process, every one shown in system panel will be a minimum of around 12mb or so, even something that is only 75k. just the way android works.
RogerPodacter said:
a widget takes 12mb of RAM because of the heap size of the way android OS is setup. it assigns 12mb of RAM regardless of whether that widget needs it or not. check each process, every one shown in system panel will be a minimum of around 12mb or so, even something that is only 75k. just the way android works.
Click to expand...
Click to collapse
That seems a bit uncomfortable to me
i personally think that it could be changed better by removing some apks or in other ways to reduce something
In my opinion it is nonsense that 1-4 MB stuff must reserve a minimum of ~12 MB of precious RAM. In this way we just lose resources that would be better used for actual data.
Sent from my HTC Vision using XDA App
I've been seeing This CM7 and wanted to know what this was?!
I'm always reading how people say that xxMB is the best size.
But what is it? And how it works?
What's it for? What's the right size for a Galaxy S?
VeryCoolAlan said:
I've been seeing This CM7 and wanted to know what this was?!
I'm always reading how people say that xxMB is the best size.
But what is it? And how it works?
What's it for? What's the right size for a Galaxy S?
Click to expand...
Click to collapse
This setting is simply the maximum amount of heap space (read: memory) a single instance of the Dalvik VM (read: application) can obtain.
Don't read anything into the "benchmarks" performed. This setting should have little effect on overall system performance. The only scenario where it would be beneficial to increase the maximum heap size would be if you have an application that is very close to using up all of its available heap space, which would force it to run garbage collection frequently, which would use up CPU cycles. It is possible that lowering the maximum heap size could be beneficial in that it might prevent an application from obtaining more memory than it needs (by forcing it to garbage collect sooner), but that all depends on how the Dalvik VM is implemented and is really beyond my knowledge.
The heap (in Java) stores dynamically allocated variables, such as objects. Like Rueben_ said, when the heap is running low on memory, the JVM will run garbage collection. Garbage collection uses processing cycles, which will slow down your phone. In case you're wondering, the other place in memory where things are stored is called the stack, which stores arguments and parameters.
Oh okay
So how do you how much memory to put it for at Max?
Sent from my SGH-T959 using xda premium
mrinehart93 said:
In case you're wondering, the other place in memory where things are stored is called the stack, which stores arguments and parameters.
Click to expand...
Click to collapse
I do believe the stack is reserved for storage of CPU data (typically, the contents of its registers) before it switches toanother context (or thread, which means loading a different set of data in its registers).
The memory zone where data from user apps (and the Dalvik VM is one of those, albeit a über-app of sorts since it runs all the other apps) is stored is rather just called "the heap". At least that's the way I learned it
daxdax89 said:
So is it better to put higher or lower heap size for games?
Click to expand...
Click to collapse
There is no right answer for this as you should have gathered from reading the answers you were given.
It all depends on how you use your phone.
Try out different settings with games and you'll see which suits your usage best.
Go on - Live on the edge a little lol...
daxdax89 said:
So is it better to put higher or lower heap size for games?
Click to expand...
Click to collapse
For the Vibrant if you use big apps then put the VM at like 128 or or something like that.
If you have small flashlight apps then use it at 32-96
Sent from my SAMSUNG-SGH-I747 using xda premium
Say, this seems to be a "magic bullet" for devices with modest memory sizes to keep apps from swamping the available memory. For my 1 GB Lollipop device, setting dalvik.vm.heapsize to "96m" improved the performance of the device. I was able to cycle between many memory-heavy applications without getting bogged down.
Be careful! Forgetting the "m" at the end, or setting the number too low will send your device into an endless garbage-collection, essentially locking you out. I set it too low myself, had to pop the battery, then quickly raise the value after reboot (before the "system_server" app got itself above the limit I had set), rebooting again to apply the new value. For a fair indication of a lower limit, look at the memory consumption of the "system_server" app. Set it above that to give it some headroom. Make sure you have a recovery plan before messing with this value!
Hi
How can i create Swap Partition for increase RAM on Galaxy tab plus?
I find guide for other device, can`t find for Gt 6200
Thanks for help...
hmr007 said:
Hi
How can i create Swap Partition for increase RAM on Galaxy tab plus?
I find guide for other device, can`t find for Gt 6200
Thanks for help...
Click to expand...
Click to collapse
you can;t and should never need to.
You have 1 GB of RAM more than enough for any application.
Swap has not been used since Froyo I think . Since OG phones with 300 mb RAM.
Not used not needed
DigitalMD said:
you can;t and should never need to.
You have 1 GB of RAM more than enough for any application.
Swap has not been used since Froyo I think . Since OG phones with 300 mb RAM.
Not used not needed
Click to expand...
Click to collapse
Thanks for replay
but this 1GB (830 MB Actually) full after open 4-5 program or 2 game And Android close automatically other Application And last States!
I Want to save last States of other program Anyway until i Close program manually
For example Chrome close tabs after open 4-5 program and when i visit old tabs , it reloaded again!
hmr007 said:
Hi
How can i create Swap Partition for increase RAM on Galaxy tab plus?
I find guide for other device, can`t find for Gt 6200
Thanks for help...
Click to expand...
Click to collapse
Hi. Easiest way is to download Swapper2 from the PlayStore.
viper001 said:
Hi. Easiest way is to download Swapper2 from the PlayStore.
Click to expand...
Click to collapse
Only if you want to slow your tablet to a crawl.
Why would you want to swap very fast RAM with very slow SD memory? No need and a really bad idea.
DigitalMD said:
Only if you want to slow your tablet to a crawl.
Why would you want to swap very fast RAM with very slow SD memory? No need and a really bad idea.
Click to expand...
Click to collapse
agree. but, it looks like he's more concerned with multitasking.
it always depends on the user. let him try it first and let him decide what's acceptable for him.
Besides, "slow your tablet to a crawl" is an exaggeration.
viper001 said:
agree. but, it looks like he's more concerned with multitasking.
it always depends on the user. let him try it first and let him decide what's acceptable for him.
Besides, "slow your tablet to a crawl" is an exaggeration.
Click to expand...
Click to collapse
That won't help multitasking , Android already has an efficient memory management system. That OG swap app was for Froyo phones that only had about 300 mb to run the OS and apps. No longer applies. And since there are no true multi=tasking apps. IE you can;t run two foregrounds apps. ..... , you can never fill up RAM
DigitalMD said:
That won't help multitasking , Android already has an efficient memory management system. That OG swap app was for Froyo phones that only had about 300 mb to run the OS and apps. No longer applies. And since there are no true multi=tasking apps. IE you can;t run two foregrounds apps. ..... , you can never fill up RAM
Click to expand...
Click to collapse
OK. "Task-Switching" then .
Agree that android memory management is "efficient". the problem is that when it runs out of memory the app at the "back" of the stack gets "killed". data is saved for that app so when it's called back up, it "seems" like it was running all the while.
So, as per the OP question, since his problem was that his web pages keep reloading, ie app was killed due to memory constraints, his idea is to increase the RAM or in this case adding virtual RAM via swap.
It's not a bad Idea, since the amount of RAM is virtually increased, then the amount of apps that can be in RAM at the same time is also increased.
FYI, not only for froyo, i use swap for my NEO V running ICS. made DEAD SPACE run better than without swap. :good:
Haven't encountered a need on the P6200 though. Ofcourse, there must be a reason why 2GB RAM devices are now available.
there is not reason that swapping would make your tablet run better, none.
Because as of ICS , and with 1gb+ ram, you are emulating and interfering with what Android (linux) already does .
you have one foreground task and whatever idle tasks and then unused apps that are retained in RAM until they are needed or another apps needs space and they are removed from RAM. Then they reside on SD memory so what advantage does swapping to SD memory give you, none, in fact it adds a extra useless step .
SO Android attempts to keep RAM 80% used.at all times. If you look at the process logically, I do not believe can lay out a scenario by which the swapper apps beings any benefit to current Android systems.
DigitalMD said:
there is not reason that swapping would make your tablet run better, none.
Because as of ICS , and with 1gb+ ram, you are emulating and interfering with what Android (linux) already does .
you have one foreground task and whatever idle tasks and then unused apps that are retained in RAM until they are needed or another apps needs space and they are removed from RAM. Then they reside on SD memory so what advantage does swapping to SD memory give you, none, in fact it adds a extra useless step .
SO Android attempts to keep RAM 80% used.at all times. If you look at the process logically, I do not believe can lay out a scenario by which the swapper apps beings any benefit to current Android systems.
Click to expand...
Click to collapse
You actually pointed out the reason why the Original Poster wanted to use swap. he wanted his currently "unused" browser app to reside in ram, and not get killed. in this case it will be in virtual ram.
I agree with all your points. and I don't use swap on my tablet (P6200) haven't had a need, but i do use it on my phone(Neo V, 512 RAM, 384 useable).
All i'm saying is let him try. it's possible that he is hitting the limit on his Tablet. I know, cause it's easy to hit the limit on my phone that i'm very sure swapping works. e.g i can now switch between, Chrome, Facebook, Email, What'sUp, answer a phone call, send a text message and come back to Chrome (which has three open tabs BTW) without Chrome "reloading" those same three tabs. i wasn't able to do this before i starter using swap.
and yes, there's a bit lag but it's better than incurring cost of reloading a page each time, esp if your on a limited data plan.
One other thing that was not considered yet also are the OOM groups and Minfree. another option is Compcache.
The use of Swap really depends on the user and the way he uses his device. You can only see a benefit from swap if you consistently use up all your RAM. Which, if i understand the OP's problem correctly, is the case.
Hello,
Since ICS leaves me without much RAM and LG is using 140MB swap partition just because without it we wont be able to launch 2 apps without them closing the launcher for memory, I decided to play a bit with swap and ended up using ZRam as its a bit better than the normal swap.
But zram0 partition is only 67MB and this is not enough for me, especially when playing games. So I wanted to ask how to increase the partition size. I already tried making 128MB zram0 but it only fill up to 67MB because thats the size of the partition. So how to make it bigger, atleast 128MB?
Or if it's not possible would someone tell me how to clean it, as it gets filled but doesnt free itself after time.
Zram is not partition. Size of ZRAM is size of RAM that get compressed. So you get "more" RAM but it is slower a bit for the time needed to compress and uncompress. Try changing swapines value. If you set higher swapines swap will be used more often.
Sent from my LG-SU760 using xda app-developers app
iodak said:
Zram is not partition. Size of ZRAM is size of RAM that get compressed. So you get "more" RAM but it is slower a bit for the time needed to compress and uncompress. Try changing swapines value. If you set higher swapines swap will be used more often.
Sent from my LG-SU760 using xda app-developers app
Click to expand...
Click to collapse
Silly me and I have read what ZRam does quite a few times already. Anyways when I used External SD Swap it worked great but only for some time then somewhere half of the system will brake and will not work.
For example it will crash and hot reboot the phone or freeze it completely or when I want to open Setting for example it wont go there. Can you help me about that?
Lg already made partition to be used like mmc swap so you don't need to use part of your sdcard for it. And it will be unmounted when you connect usb storage. Take a look at /system/bin/swap_enable.sh and things will be clearer for you.
Sent from my LG-SU760 using xda app-developers app
I am using multi mount and its not needed.
Also I don't need emmc, I need my SD card its faster.
Also I have read swap_enable.sh and I wrote the mkswap and swapon there but it didin't made the file a swap one. Swapper2 on the other hand creates wierd 5MB or 50MB didint read carefully swap space as "free" command showed me after reboot, while I choosed 256MB swap file. Anyways wierd things always here.
GlossGhost said:
Hello,
Since ICS leaves me without much RAM and LG is using 140MB swap partition just because without it we wont be able to launch 2 apps without them closing the launcher for memory, I decided to play a bit with swap and ended up using ZRam as its a bit better than the normal swap.
But zram0 partition is only 67MB and this is not enough for me, especially when playing games. So I wanted to ask how to increase the partition size. I already tried making 128MB zram0 but it only fill up to 67MB because thats the size of the partition. So how to make it bigger, atleast 128MB?
Or if it's not possible would someone tell me how to clean it, as it gets filled but doesnt free itself after time.
Click to expand...
Click to collapse
Modify file /system/bin/swap_enable.sh.
P.S. Need root.
NWorker93 said:
Modify file /system/bin/swap_enable.sh.
P.S. Need root.
Click to expand...
Click to collapse
My swap_enable.sh shows 30 MB disksize
Is that normal? Should I increase it?
This is my script where zram size is 64 and emmc swap is disabled (last two lines are # out)
Edit: for launcher redraw supercharge you services.jar. If you are on deodexed rom i can post you mine.
Sent from my LG-P920 using xda app-developers app