Linux-swap calibration - G1 Q&A, Help & Troubleshooting

I've been searching and haven't really found a definitive thread or answer...
I'm using CM 4.1.999 currently (4.0.4 previously) with linux-swap exclusively, and have tried other ROMs as well.
Right now I have an 8gb class 6 SD with 4 partitions: FAT32 remainder, 500MB ext3, ~40MB linux-swap, and ~200MB linux-swap. I created the two swap partitions as several of the threads I've read adamantly state not to go above 32MB (without explanation), but others also adamantly state to use about 200MB for Hero ROMs.
So, my question is, which is it, and why? Why the 32MB limit? Why not 196MB? Why the disparity between "basic" ROM recommendations and Hero ROM recommendations? Besides "it goes slower", is there an answer to why specifically it causes it to perform slower with certain ROM types, and is there a way to mitigate it?
Also, regarding swappiness, how do we calibrate it? What does swappiness mean? I've seen that in user.conf the default is 60, but I've seen some people use 32MB swap partitions with 40 swappiness, or 200MB with 100 swappiness, as well as 96MB with 80 swappiness. So, which is it, and how do we know what is right for us besides countless iterations of setting, rebooting, testing, setting, rebooting, testing, etc..?
If I missed a link or thread somewhere with the information I'm looking for, please let me know so I can do my research ; ) A simple explanation or recommendation would be key, though... just trying to learn as much as I can!
Thanks! As a long-time XDA user, I still appreciate the community involvement and innovation that happens here!!

I have never seen ANYWHERE where it asks for 200mb swap partitions. having two swap partitions does absolutely nothing for you.
the 32mb limits were imposed due to stability. However, you should use 64 or 96mb for hero roms.
anything more may cause unnecessary instability
Swappiness just refers to how often the phone will write to the swap file (the tendency for the ROM to place data on the swap) the higher the number, the more likely data will be sent to the swap partition. anywhere from 30-80 is ok.
If youd like to learn more about good swap settings, go to the user.conf threads in the dev section where they discuss performance benefits/hits from different configurations

Excellent, thanks!
I've looked at the user.conf thread and seen several recommendations, but had not seen a single definitive "these are the best agreed-upon settings"..
I'd think that since the hardware is the same, we should be able to say, "With SPL x and ROM y on Device z, these settings are ideal" -- but I haven't seen that.
I kept two swap partitions in case I switched to a Hero ROM in the future so I wouldn't have to repartition again..
Are there major stability issues if I were to use a 64 or 96MB swap with a non-Hero ROM? I don't understand why it's OK with Hero, but not with others... why the disparity?

grivad said:
Excellent, thanks!
I've looked at the user.conf thread and seen several recommendations, but had not seen a single definitive "these are the best agreed-upon settings"..
I'd think that since the hardware is the same, we should be able to say, "With SPL x and ROM y on Device z, these settings are ideal" -- but I haven't seen that.
I kept two swap partitions in case I switched to a Hero ROM in the future so I wouldn't have to repartition again..
Are there major stability issues if I were to use a 64 or 96MB swap with a non-Hero ROM? I don't understand why it's OK with Hero, but not with others... why the disparity?
Click to expand...
Click to collapse
I dont like repartitioning either haha but i use 96mb on cyan's rom (i switch between hero and cyan) I havent had any issues with them
the 32mb limit was more or less an experimental guess made quite a while ago. it seems dated.
make sure you only have 1 swap partition. that could potentially cause problems
So you should be fine with 64-96mb
the reason there is no definitive setting that maximizes performance is due to differences in ROM's. What works on one rom may not work so well in another. Also, many people perceive the speed of their settings differently and suggest what they believe to be fast.
The best way to find what works best for you is to experiment with different settings and see what matches your needs

Thanks for the info!
Per your comments, I repartitioned with one swap partition set at 96MB..
Previously I had a 32MB partition with swappiness at 30 and it ran lickety split. Now that I've gone to 96MB, I increased swappiness to 60 and I'm seeing some weird performance issues..
Do you have a recommendation for the swappiness value for a 96MB swap partition?

Related

Cooked ROM = More Memory?

I know the WM6.1 ROM footprint on my HTC is 128MB. But if I download and install a 'minimalistic' cooked ROM (without all the OEM junk), will that amount of memory be returned to the system for program use? IOW, if I find a cooked ROM that's 100MB, will that give me 28MB more RAM for program use? Or are all ROMs going to consume 128MB no matter what they do (or don't) include?
BillTheCat said:
if I find a cooked ROM that's 100MB, will that give me 28MB more RAM for program use?
Click to expand...
Click to collapse
It would give you more ROM, not RAM. That is, storage available for files and/or installed programs. The amount used by the ROM indeed depends on the software it already includes.
Ah. So the game is that the ROM footprint consumes 128MB, no matter what's in it? Is it safe to presume that WM is still using RAM for both storage and program execution?
For some reason, I remember on my HX4700 there was much dissatisfaction when WM went to v.5, because we always had the ability to move the system memory between storage space and runtime space. I guess the hardware on the Kaiser is operating differently then.
Please help me make sure I'm understanding this right.
What I need to do is to learn how to cook my own ROM based on a minimalistic starter, so I can pack in what I want to run, getting it out of RAM and off into ROM, right? IOW, I need to figure out how to move TomTom, MobileShell and other such applications that install resident to the device into ROM, freeing up the amount of storage/RAM that I have to work with. Correct?
If so, then one last question. What happens when I build in programs to ROM and then there are updates?
as of wm5 storage is rom
and application memory is ram
BillTheCat said:
Ah. So the game is that the ROM footprint consumes 128MB, no matter what's in it?
Click to expand...
Click to collapse
No. The Kaiser has 256MB of Flash memory. Part of it will be used as ROM, the exact amount depending on how much software is included in there. Usually 100-150MB, and those are write-protected. The rest is available as read-write storage.
BillTheCat said:
Is it safe to presume that WM is still using RAM for both storage and program execution?
Click to expand...
Click to collapse
No. From WM5 on (like 3 years ago), file storage isn't done in RAM anymore but in the flash memory as described above. This allowed to prevent the problem where you'd lose all your stuff if your battery went down. Now you can remove the battery indefinitely without losing anything.
RAM is therefore only used for program execution. The Kaiser will have around 50-70MB RAM free after booting depending on your start-up apps, which is WAY enough not to have to worry about it.
Rudegar said:
as of wm5 storage is rom
and application memory is ram
Click to expand...
Click to collapse
Yeah, that's what I thought. So, then I'm right in that the thing to do is to maximize RAM by moving resident applications into the ROM to free up RAM, yes?
You can't do that. Read my post above for more detail, might have missed it as we posted pretty much simultaneously.
kilrah said:
The Kaiser will have around 50-70MB RAM free after booting depending on your start-up apps, which is WAY enough not to have to worry about it.
Click to expand...
Click to collapse
Then if I'm reading you right, your feeling seems to suggest that investing a lot of effort in cooking my own ROM isn't necessary; that if I get a 'minimalistic' cooked ROM and install my own applications, it's effectively the same thing? IOW, a smaller footprint ROM will increase room for storage of programs and documents by eliminating some OEM stuff that's perhaps unnecessary, yes?
I guess the things that I could do without are these below:
- Getting Started (A bit late for this now!)
- Windows Live (Do you really need this?)
- Voice Speed Dial (MS Voice Command instead?)
- File Explorer & Zip (Both these are handled by Virtual Explorer)
- Windows Update (If it worked, would we be here?)
However as I don't know how big these things are, I may find that it's a lot of extra effort for not a lot of gain.
Your thoughts?
Exact. Everything you install will end in Flash memory, whether it's cooked in the ROM or installed later. The only difference is that if cooked it will be in the write-protected part and will still be there when you hard reset, unlike the apps you install later.
Here are some numbers, if you're interested.. This is going from a hard reset Tilt stock rom (Although I soft-reset before it installed AT&Ts crap so these numbers are BETTER than the typical stock AT&T Tilt) vs ROMeOS v4.1.
Code:
AT&T Stock ROM (hard reset, no AT&T customization)
Storage: 124.91 Program: 101.38
In Use : 10.17 In use : 27.20
Free : 114.74 Free : 74.20
ROMeOS 4.1
Storage: 150.59 Program: 85.32
In use : 3.90 In Use : 29.00
Free : 146.70 Free : 56.32
As for the program ram being down 20M, I think this is because the ROMeOS ROM has dynamic page pool so it adjusts itself as necessary, but I'm not sure. I've personally never had an issue with getting low on program ram. It's certainly nice having 30M more of storage space (not to mention the whole thing being snappier and the interface responds quicker, but enough advertisement for the ROM )
kilrah said:
Exact. Everything you install will end in Flash memory, whether it's cooked in the ROM or installed later. The only difference is that if cooked it will be in the write-protected part and will still be there when you hard reset, unlike the apps you install later.
Click to expand...
Click to collapse
A completely unnecessary concern, when you have SPB backup.
I've got my head around this now. Thanks so much, you've been very helpful and I appreciate your effort.
khaytsus said:
As for the program ram being down 20M, I think this is because the ROMeOS ROM has dynamic page pool so it adjusts itself as necessary, but I'm not sure... It's certainly nice having 30M more of storage space (not to mention the whole thing being snappier and the interface responds quicker, but enough advertisement for the ROM )
Click to expand...
Click to collapse
Yes, I understand there is an advantage to a 'cooked' ROM. Does anyone know offhand if the HTC OEM 6.1 ROM has some of the performance 'tweaks' you suggest above, or should I just back up and experiment?
What I'm getting at is that if reflashing is only going to deliver a nominal performance benefit over the HTC ROM, it's not really worth the effort for me.
BillTheCat said:
What I'm getting at is that if reflashing is only going to deliver a nominal performance benefit over the HTC ROM, it's not really worth the effort for me.
Click to expand...
Click to collapse
Yes and no. Remember, It also adds more storage for you too! This might not be as important to you as it is to me though. The only application i prefer to be installed to my SD card is TomTom, and thats because all of the maps have to be there anyway. I use several MicroSD cards Daily ( have 3 4gb cards ) ( one for videos, one for tomtom, and one for photos/backup cabs/ect ). Being able to have enough ROM open for me to install all of my apps is important to me. Its not just a speed factor, but ive actually run out of ROM space before..... not a fun thing to hunt down whats taking up all your space. Cooked ROMS open up more space by removing all that Garbage from manufacturers ( We call it Bloatware) and makes more room for my stuff to go
Also, I dont think any OEM HTC ROMS have Kaisertweek or any other registry modifications. Granted, you could just download a registry editor and a tweek program, having the goodies already there and the junk removed makes for a faster / easier start if you flash as much as some of us do lol.
Just my opinion.

Compcache / Linux-swap

Run sh /system/bin/swap -s to check swap status and other mod values.
Ok so I did this to check on my stuff, cause i wanted to make a compcache.
*** CompCache ***
compcache_en=0
cc_memlimit=16
cc_disksize=32
cc_backingswap_en=0
cc_backingswap=/dev/block/mmcblk0p3
swappiness=30
*** Linux Swap ***
linux_swap_en=1
linux_swap_partition=/dev/block/mmcblk0p3
....................
=== Linux Swap status ===
Linux SWAP enabled on /dev/block/mmcblk0p3
Linux Swap: swappiness - 30(system) 30(user)
i'm running JACxHEROSkiv1.5r2 and want to know what I can do to inprove the speed of the ROM.
Any suggestions are welcome i'm not much of a programmer
Looks nlike you need to edit the"cc_disksize=32" value, but I doubt that affect the speed tbh.
What size swap partition are you running?
Im running with 96 MB linux swap
btw what is that (cc_disksize=32) ?? the linux swap size ?
I read i a couple of posts about the linux swap and compcache and read that if you enable comcache it could speed up your device slightly.
YuYe said:
Im running with 96 MB linux swap
btw what is that (cc_disksize=32) ?? the linux swap size ?
I read i a couple of posts about the linux swap and compcache and read that if you enable comcache it could speed up your device slightly.
Click to expand...
Click to collapse
Ah thought CC was already enabled.
compcache_en=0 < This needs to be changed to one to enable CC.
cc_disksize=32 < That's the CC size, I wouldnt change it.
I would *strongly* recommend reducing your swap size. It seems to be that the bigger the size, the faster it is at first, but then the phone starts to get really slow. Go for 48 or 64mb.
I don't really know a lot about CC, I've never edited the config files for it as it's generally set up for optimum performance already (and I also don't like the idea of it wearing out the nand). If you look in the xHero there are other configurations for CC, CC+swap, swap, CC +backing swap that you may want to look at.
twistedUmbrella said:
Alright. Ran a 96 mb swap all day to test. Load screen about equal. It was "ghost lag" where you do something and it freezes for a minute
Click to expand...
Click to collapse
Ok then i better change the size of my swap. also does it matter if your on ext3 or 4 ?
And what is the difference between linuxswap and compcache ?
Sorry for these noob questions but I'm a bit lost
YuYe said:
Ok then i better change the size of my swap. also does it matter if your on ext3 or 4 ?
And what is the difference between linuxswap and compcache ?
Sorry for these noob questions but I'm a bit lost
Click to expand...
Click to collapse
no ext doesn't matter.
Compressing pages and keeping them in RAM virtually increases its capacity. This allows more applications to fit in given amount of memory.
Click to expand...
Click to collapse
The problem is the Hero UI is quite CPU intensive, so less CPU power can be devoted to compressing/decompressing files in RAM.
Linux-swap is a separate partition where files are paged, increasing the amount of memory. The difference being it's outside the RAM.

can someone tell me if my thinking is correct

ok so i didnt really know what swap was or compcache with backing was so i spent the day lookin it up and i just want to know if what im getting out of my info is correct.
swap, basically instead of your phone just seeing ram it also sees your swap partition as part of the ram. so it stores app data and etc. to the swap partition thus making your phone run faster and not taking up all your internal ram and make it run slower. and it is managed by linux. by changing your swappiness setting either higher or lower will change how often swap is used.
compcache, basically creates a sort of swap partition inside the ram itself. it compresses what it swaps into this partition to create more space in the ram. im guessing people like this with backing swap because the compressed info can be brought up quicker because its compressed in the phones ram rather than like swap were its on the sd.
backing swap, when compcache is full it uses the swap partition on my sd. but rather than being like linux swap were its controlled by linux, backing swap is managed by compcahe wich works together better than compcache and linux swap.
im a complete noob here lol so if i got something wrong you gotta explain it to me in laymans terms thanx for the help
Yes, that's right. Did you copy and paste those definitions lol?
lol no i did a lot of google searching its all other peoples info but i put it into words that i can understand.lol
Amack that almost deserve a sticky
this post help me understand the way the partition works alittle better now, thanks!

Speed issues

Hola
I don't have any other Androids around me so I never felt that my G1 is actually pretty slow compared to the hero I had a fiddle with yesterday (animation speed and felt response time of programs).
Is there anything wrong with my configuration? (I'm using a stock CM 3.7.1 with swapper, no swap partition though)
I'm a frequent reader here but it is hard to keep track of all the tweaks and tricks some people do... so here my question in a nutshell: Can a G1 be as fast as a hero?
Yes there are a couple of things u can do
1. Apps2sd
2. Swap partition with swapper
3. Compcache
4. Zipaline
5. 10mb Hack (adds 10 mb to internal memory)
Thats all i can think of right now

[Q] Virtual memory?

Sry if this has been asked before as I'm a newb but is there a way to use virtual memory or create a swap partition like in ubuntu to be used when memory runs low. My wife has this phone (htc hero-cdma) and is always complaining how it's so slow and how much she hates it. i believe it is due to ram running low as I have already overclocked to 768 mhz and running froyo which did make it faster but it still slows down. And untill I have the money to get her own htc evo I at least want to make it bareable. any help would be appreciated.
You have to be running a rom that supports it - read each ones details and it will tell you. I think most of the 2.1's do.
But to set it up - when you are in recovery partition your SDCard. It asks how much for Swap/Ext remainder is Fat.
Too much Swap tends to slow things down though.
Kcarpenter said:
You have to be running a rom that supports it - read each ones details and it will tell you. I think most of the 2.1's do.
But to set it up - when you are in recovery partition your SDCard. It asks how much for Swap/Ext remainder is Fat.
Too much Swap tends to slow things down though.
Click to expand...
Click to collapse
Thanks for the reply. She is running cyanogen 6.0.0 rc1. Ill look into the notes to see if there is anything about adding a swap file under cyanogen. Btw if I add a partition for swap what should it be? Ext2 or ext3, how much is recommended and once done will the phone reconize automaticly? Thanks for help.

Categories

Resources