Getting Android to USE swap (Cyanogen 5.0.7) 32B - G1 Q&A, Help & Troubleshooting

I know this is as beaten as a dead horse, but I have to ask it anyways.
I've setup both Compcache and a swap partition on my Class 6 SD card, but I'm finding myself endlessly frustrated by the fact that Android is still killing stuff after just dipping it's toes in the swap.
Someone at HTC should be shot for making these phones with this little memory.
I'm aware the performance may be terrible and it may (will) murder my SD card, but how can I force Android to see all of the memory space as available?
As far as Linux is concerned there's 52MB of free memory (Meaning Android hasn't allocated it at all), including 16MB of physical swap that hasn't been touched (of 16MB). Android's still killing stuff (like my terminal session).
I'm aware that Android's management is supposedly more elegant, but I'm finding many apps and programs don't properly save their state and don't restore seamlessly, and I tend to multitask a lot and, well, this isn't working well. I at least want to see what a swap-heavy setup runs like, but Android won't let me!

There is a search button. There are plenty of howto's.
Hint: userinit.sh
-------------------------------------
Sent via the XDA Tapatalk App

Related

Swap partition for SGS ?

Hi again guys...
In Linux we have a SWAP partition for some time if RAM (Random Access Memory) will full OR for speed up applications by buffering in swap partition.
(Recommend Linux SWAP partition size: half of RAM)
so Android is Linux based and have kernel like Linux. Is it work to make a SWAP partition for SGS with swap file system?
You don't want that...
Android doesn't wipe RAM immediately anyway, so apps which are open and shutdown can be restarted again quickly (unless the RAM has been reused).
Also, apps on Android are designed to be shut down whenever free RAM runs out (its in the development guidelines that all applications should expect to be shut down at any time). Since most Android phones use high-speed NAND memory, when properly configured, apps load quicker too
The problem with swap is that it can lead to thrashing and loss of battery life. It's good for computers (because generally, you would rather lose performance and ensure you don't lose work), but on Android, applications should be killable at any time, and should have mechanisms to protect their work anyway.
It's probably possible to create a swap partition/file if you wish (try to swapon), but I foresee some potential side-effects, especially if you don't want to spend a lot of time managing memory manually.
i didn't think about battery life.
Thank you so muchhhhhhhhhh
I was actually exploring this option last night and stumbled that the kernel does allows swapon commands. I remembered trying it earlier on a stock rom but it was not available then.
Why I need the swap was because of the frequent shutdown of my launcher pro due to apps contenting for memory. The live wallpaper and heavy Widgets like pure messenger pro aren't helping much either, after much usage the device just slows down, lags and silently kills the background apps. The "minfree" settings were also tweaked but with much less desirable results was seen...
So I downloaded an app called "swapper2" from market and tested via 2 methods; Swap file and swap partition.
The performance of a swap file that sits in the NAND is not really that great. In fact it kinda lags me when memory is being swapped in and out of it. I think its the same problem with the i/o lag problems with any other rom
Then I tried a swap partition on my class 6 SD card. Although the lifespan of the card would be shortened and the battery life would be impacted, the performance is better compared to the earlier method.
In either method, the amont of apps that can be left opened at the foreground and background had increased and doesn't lag as more apps is being launched. Not bad for me but well, I guess it's all up to the user of the device at the end. Just my 2 cents...
I'll try the swap file method again over at the ext2 partition created by the lagfix and see how it goes next. Not sure if anyone interested though...
Sent from my GT-I9000 using XDA App
It seems that using the swap partition doesn't have the lag compared to using the swap file method.
It may be due to the I/O of multiple storage (parallelism ?) is better than a single storage or writing into the raw partition is better in terms of performance than a swap file.
I'm done with my findings, the device still have 60mb free and never lags, I'm sold.
Sent from my GT-I9000 using XDA App

[Q] Nexus one flash partition layout, lowest 63MB...

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.

[Q] Would enabling swap boost real world performance?

I'm interested in any real world experiences of people using a swap partition on the SD card or similar solutions. I mostly see guides about how you enable swap, which isn't that hard, but any quantifiable or subjective reports of improved performance is lacking.
My only experience using swap was using an openwrt router (with very limited resources) where it was vital for some stuff to function at all, but I couldn't see any general speed improvements, and when swap was used it was terribly slow.
Do you use swap or tried it, does it help? How much?
PremiumMediocre said:
Do you use swap or tried it, does it help? How much?
Click to expand...
Click to collapse
Apparently this is not something that interest people, but in case someone searches for swap and finds this post I can say it definitely helps with multitasking. Currently my phone uses over 100MB of swap space, and lags due to apps being terminated due to low memory is a more rare occurrence nowadays.
Just some interesting reading about this:
http://zerocredibility.wordpress.com/2009/08/24/why-android-swap-doesnt-make-sense/
http://android.stackexchange.com/questions/2310/how-will-a-swap-partition-file-affect-the-system
If you're still interested, read these two links. A bit old though, but the only difference might be that Google has put an effort into making Android's way of freeing memory better. In that case, from what they say, I'd say there's a chance that swap will increase your performance.
Thank you, I've been reading up on swap as well, and it's not completely clear cut.
From your first link the argument:
"Having swap actually prevents the native Android memory management scheme from activating. The system sees memory and doesn't distinguish between physical and virtual. It will therefore prefer swap over the native Android memory management scheme, and won’t activate the native scheme until swap is full."
I believe this is just plain inaccurate. Even if you set swappiness to 100 android will terminate apps without filling the swap space, and swap is never treated as plain ram as far as I know.
Some real benchmarks is sourly needed though.
PremiumMediocre said:
Thank you, I've been reading up on swap as well, and it's not completely clear cut.
From your first link the argument:
"Having swap actually prevents the native Android memory management scheme from activating. The system sees memory and doesn't distinguish between physical and virtual. It will therefore prefer swap over the native Android memory management scheme, and won’t activate the native scheme until swap is full."
I believe this is just plain inaccurate. Even if you set swappiness to 100 android will terminate apps without filling the swap space, and swap is never treated as plain ram as far as I know.
Some real benchmarks is sourly needed though.
Click to expand...
Click to collapse
I tried to find done benchmarks, but it seems like there are none...
And like I said, old links so Google might have done something about the issues they're talking about
Sent from my Incredible S using xda app-developers app
Also have a look in the desire Z section for this. They only have 512mb ram (we have 768) so they are always looking for ways to free up ram
There is a lot of discussion about swap so have a look there They might know a lot more compared with us
markj338 said:
Also have a look in the desire Z section for this. They only have 512mb ram (we have 768) so they are always looking for ways to free up ram
There is a lot of discussion about swap so have a look there They might know a lot more compared with us
Click to expand...
Click to collapse
I think the speed of the processor is also important in this context since the native way to save memory is letting programs recreate the last state they were in before they were shut down. A fast processor would make swap less attractive.
In case you anyone wants to try, I'm using the Hunterwu kernel and used swapper 2 to activate the swap partition. The only hang up setting it up was that swapper 2 identified the wrong partition as swap but that could be manually changed.
PremiumMediocre said:
I think the speed of the processor is also important in this context since the native way to save memory is letting programs recreate the last state they were in before they were shut down. A fast processor would make swap less attractive.
In case you anyone wants to try, I'm using the Hunterwu kernel and used swapper 2 to activate the swap partition. The only hang up setting it up was that swapper 2 identified the wrong partition as swap but that could be manually changed.
Click to expand...
Click to collapse
Tell us if its any better, I might do the same

Task switching without reloading? What memory is required?

Am running PA 3.60 which is great. I've now run some additional script that culls out and slims down the ROM and gapps. Again, everything runs great. I probably have a lot more memory free now than before. But I'm not sure what good that is.
Traditionally, we want to free up memory so we can install more apps - a2d and other methods help to keep things clear.
I don't want to do that - I want to be able to run more than one or two apps at the same time. But I don't know which memory types to clear up to do that.
The ROM is in, well, ROM, so making it smaller may not help free up memory if there's fixed 512MB used for it.
I know Android is actually running a lot of processes at once. What I mean is that if I load an app, say Candy Crush, then run another app, say Grindr, I can switch back and forth pretty much ok and each app resumes where it left off without any noticable reloading/refreshing. But if I then run another app, say Scruff, then as soon as I try to switch back to one of the others, it has to reload/refresh/restart. So clearly, there wasn't enough memory available to keep all 3 resident and it swapped some out or simply released it.
Logically, if I have more of a certain type of memory free, this will not happen as often. I know it depends on how much memory and other resources an app requires, but I don't need to get into that level of analysis yet. First and foremost, what sort of memory should I try to make as much of as possible to let me swtich between apps without so much reloading?
douginoz said:
Am running PA 3.60 which is great. I've now run some additional script that culls out and slims down the ROM and gapps. Again, everything runs great. I probably have a lot more memory free now than before. But I'm not sure what good that is.
Traditionally, we want to free up memory so we can install more apps - a2d and other methods help to keep things clear.
I don't want to do that - I want to be able to run more than one or two apps at the same time. But I don't know which memory types to clear up to do that.
The ROM is in, well, ROM, so making it smaller may not help free up memory if there's fixed 512MB used for it.
I know Android is actually running a lot of processes at once. What I mean is that if I load an app, say Candy Crush, then run another app, say Grindr, I can switch back and forth pretty much ok and each app resumes where it left off without any noticable reloading/refreshing. But if I then run another app, say Scruff, then as soon as I try to switch back to one of the others, it has to reload/refresh/restart. So clearly, there wasn't enough memory available to keep all 3 resident and it swapped some out or simply released it.
Logically, if I have more of a certain type of memory free, this will not happen as often. I know it depends on how much memory and other resources an app requires, but I don't need to get into that level of analysis yet. First and foremost, what sort of memory should I try to make as much of as possible to let me swtich between apps without so much reloading?
Click to expand...
Click to collapse
Try enabling zram, I haven't tried it personally but its supposed to allow for more multitasking.
Sent from my Nexus One using xda app-developers app
Moved To Q&A​
You may of considered it dev based, but its a question so belongs in the Q&A section.​
I've tried ZRAM now for a couple of days but makes no difference. I also have the problem on another Android device. I'm convinced its some sort of design limitation of the opsys or something. When I start up Grindr, it takes a long time to load all the images, make connections, etc. Then I start of Gruff, and it does the same. As long as I don't try to go to another app, I can flip between the two of them without them restarting/reloading/reinitialising themselves. That is clearly because their pages didn't get swapped out of memory or flagged for deletion and deleted.
But if I do something else, or even try to use additional functions within either app, its too much and the next time I try to flip to the other app, it has to reload and reestablish connections etc.
Its not just those apps either. The same with a game like Candy Crush. Or many many apps.
So either my devices don't have enough memory of some form to allow many concurrent apps to run without being swapped out, or Android can't handle it and unnecessarily swaps out or deletes a process's memory pages to make room for the next process, >>> even if the device has plenty of memory<<<.
I don't know which type of memory the opsys needs if this is the case. I'd like to know so that i can make sure there's ample available so that this constant restarting doesn't keep happening. It seems stupid to me that Android does this if the device has got "heaps" of available memory (no pun intended). Newer devices will continually have more and more built in memory, so if Android is doing this arbitrarily and not because of space issues then its, well, stupid.
I have to assume its my devices that are the problem. They're both old (Nook Color, Nexus One). But with the NC, I'd assume we can partition some of that 5GB for use as main memory to run lots of processes concurrently, without this annoying swapping/page deletion/forcing re-inits all the time.
I'm also having problems figuring out where in XDA to post this question - its not NC specific, or dev specific, but I need answers from people that know the Android architecture so I can work out if its possible to stop this from happening.

Where did all my storage go

I have used a reported 6gig out of 11 on my /sdcard0, and yet when I run sd analyst in es explorer it doesn't add up as you can see in the attachment.
Sd analyst seems to be correct because I don't have any huge games installed. So where did all my storage go?
Its all the apps Samsung puts on there that you cant delete.
If somebody starts a class action lawsuit on this device like they did with the iPad I am all over it. Its not even remotely fair that a 16gig device has 8.9gig free because of 3+ gigs of bloatware you cant delete.
I have an SD card, but the lack of app space is concerning me.
Except I'm not running touch wiz. I'm running a CM12 ROM. Any way if I'm reading it right, this is just counting /storage/emulated/legacy the user data partition. Very weird.
barth2 said:
Except I'm not running touch wiz. I'm running a CM12 ROM. Any way if I'm reading it right, this is just counting /storage/emulated/legacy the user data partition. Very weird.
Click to expand...
Click to collapse
That does not make sense? I hope one of the Devs can come up with the answer to this mystery!
Correct me if I'm wrong, isn't it that if you root your device and get a rom let's say CM, as far as I know CM doesn't eat up a lot of space meaning depending on the contents of that rom, that 3gb bloat ware should be gone right?? Also this is what frustrates me with Samsung, we just can't have the option to write over to SD cards which I know can be a liability but look at the what we need to deal with. There's no 32gb version in my country so I'm always cramped up for space and I hate it, having to remove apps and games just to get by.
Sent from my SM-T805
Well I wiped my internal memory (drastic measure) and started over and now it looks correct. Not sure what was behind it.
More information would be great here. I know there's an incredible amount of Google bloat on these devices, but perhaps there is some information missing from the ES File Explorer results. I'd recommend downloading a dedicated app cache cleaner and a dedicated storage analyst app to get an accurate idea of all the things that are taking up storage. Some of the biggest offenders are browsers, but the one I've seen eat up a whole gigabyte on unknowing users' phones is usually the sneaky Google+.
Storage analyzer
https://play.google.com/store/apps/details?id=com.levelokment.storageanalyser
1Tap Cleaner
https://play.google.com/store/apps/details?id=com.a0soft.gphone.acc.free
steelbrachen said:
with Samsung, we just can't have the option to write over to SD cards which I know can be a liability but look at the what we need to deal with.
Click to expand...
Click to collapse
Well, with Google Android Kitkat, it was decided that apps should only be allowed to write to their own sandboxed folders on the SD card anyway. Samsung has always been pretty good about at least allowing file management via a first party app, and even managing which apps can use the SD card are listed in the application manager, so I fail to see how Samsung is at fault here. (Meanwhile, in addition to demanding restrictions across the board to SD cards in Kitkat and then Lollipop, Google's more focused on forcing a social network on their users than writing a file manager for all the devices that DO have SD cards... or providing any decent AOSP apps in general.)
Sent from my Galaxy S5
Without going into too much detail the amount of available space is affected by the partition layout of the device. Esp with cm or custom rom that only takes up a couple hundred mb; the system partition ends up with a lot of unused space. If you were willing the modify your default partition table you could reclaim some usable space. Though I would place this in the advanced user grouping and would not recommend attempting it.

Categories

Resources