The following query is from a novice user, please regard any ignorance as recognized, and thank you for your time in advance.
My question is, does anyone understand how the ram is mapped. Is the ram loaded from flash to volatile, filling portion of it, resulting in a remap of the remainder to use as /ram? or is there flash store and volatile as separate chips?
I ask this possibly stupid question because I am attempting to learn ways of improving the mile-droid performance/memory to ultimately run a debian-dist on. Questions i have a plenty, but this one will do for now.
Feel free to volunteer any useful information about the hardware, relevant and irrelevant yet interesting software to aid me in my Desktop to "pocket"top miniaturization cause.
I wish there was a way to add, or replace the chip to 1 GB....
My D1 shows 225 mb total....
I am sure that we could replace the chip, but someone said something like our Milestone's CPU or Chipset (i don't exactly remember) cannot handle more than 256 Mb of memory. I am not very sure about the affirmation, but it would be amazing if somebody with enough phone hardware knowledge would add more RAM.
Phones do not use chipsets, there is not enough room. Everything is highly integrated. The CPU is in a "system on a chip" (SoC), containing a lot of the "peripherals" that were once separate components on a PC e.g boot ROM/Flash, RAM and RAM controller, storage Flash, GPU and display controller (with LCD and/or DVI output), UART's, I2C, PWM, MMC/SD interface, USB, etc. What's more, the RAM and Flash are packaged together with the SoC in a "package on package" (PoP) arrangement. This is all in something about the size of your thumbnail. Like I said, it's highly integrated.
For this reason, you can't simply add RAM. You'd have to exchange the "chip" for one with more RAM. Then you'd have to reflash the bootloader and setup a bunch of other settings, but why not put on an open bootloader instead of Motorola's locked one? I suppose that's one possibility, but the "chip" is likely in a BGA package, which is very difficult to work with.
just to point out - OP wasn't asking any of this. go read the first post.
he was asking about some low-level-crap-i-dont-really-understand, however I do understand he wasn't asking "where can I plug this 2gb ddram stick in my droid?"
Hello fellas... I had a Moto E2 some years ago, it was based on a firmware called Juix, its a Linux software firmware based rom, there you can mount ext2 partitions as extra RAM, nowadays I'm still learning about Android, but as I see, "ext" extentions are cappable to be used as ROM, RAM and storage, so If some one of the developers can talk to us about that possibilities, I'd thank that
Hi!
tardisguy said:
My question is, does anyone understand how the ram is mapped. Is the ram loaded from flash to volatile, filling portion of it, resulting in a remap of the remainder to use as /ram? or is there flash store and volatile as separate chips?
Click to expand...
Click to collapse
It's all the same on modern smartphones you got RAM and you got non-volatile memory such as NAND Flash.
These a physically two different parts of hardware, though they are placed in the same package (see below).
The speed an over all operation of OS mostly depends on size of RAM and how it could be managed by the kernel.
IanTester said:
Phones do not use chipsets, there is not enough room. Everything is highly integrated. The CPU is in a "system on a chip" (SoC), containing a lot of the "peripherals" that were once separate components on a PC e.g boot ROM/Flash, RAM and RAM controller, storage Flash, GPU and display controller (with LCD and/or DVI output), UART's, I2C, PWM, MMC/SD interface, USB, etc. What's more, the RAM and Flash are packaged together with the SoC in a "package on package" (PoP) arrangement. This is all in something about the size of your thumbnail. Like I said, it's highly integrated.
For this reason, you can't simply add RAM. You'd have to exchange the "chip" for one with more RAM. Then you'd have to reflash the bootloader and setup a bunch of other settings, but why not put on an open bootloader instead of Motorola's locked one? I suppose that's one possibility, but the "chip" is likely in a BGA package, which is very difficult to work with.
Click to expand...
Click to collapse
Good explanation and nothing to add.
See attachment for an example of such a PoP device.
There's no slot or similar to add just RAM.
From my point of view it's worthless to discuss about the possibility to add more RAM on Droid or Milestone.
Even if someone would do an excellent job on soldering a new PoP device, you'll need to find a way to program the first stage loader (mbmloader) right into place.
I never heard of mounting ext2 partitions as extra RAM and AFAIK this simply won't work.
The only technique you could speak of increasing RAM virtually is using a swap partition.
I suggest to read some basic books how things work in the linux world.
Have fun!
scholbert
IanTester said:
Phones do not use chipsets, there is not enough room. Everything is highly integrated. The CPU is in a "system on a chip" (SoC), containing a lot of the "peripherals" that were once separate components on a PC e.g boot ROM/Flash, RAM and RAM controller, storage Flash, GPU and display controller (with LCD and/or DVI output), UART's, I2C, PWM, MMC/SD interface, USB, etc. What's more, the RAM and Flash are packaged together with the SoC in a "package on package" (PoP) arrangement. This is all in something about the size of your thumbnail. Like I said, it's highly integrated.
For this reason, you can't simply add RAM. You'd have to exchange the "chip" for one with more RAM. Then you'd have to reflash the bootloader and setup a bunch of other settings, but why not put on an open bootloader instead of Motorola's locked one? I suppose that's one possibility, but the "chip" is likely in a BGA package, which is very difficult to work with.
Click to expand...
Click to collapse
Correct you are my friend and thankyou for adding your savvy, more simply stated for the lame is:He said mobile integrated devices are geared to provide as much speed with as little power in as small a space as possible. The way to do that is to build your "graphics card" "central processor" and "device IO 'usb, reader, etc...'" together. Less distance = less resistance=less power + faster relay for better throughput. For those whom are curious but haven't a clue.
However my knowledge being somewhat dated, I recalled earlier devices having a powered volatile shared ram. You see early WinMob devices had a battery that powered ram all the time, with a backup battery so your data wouldnt wipe out, because thats how ram works when you power it off. But with how long the droid takes to load, I thought maybe (more like hoped) the directories were /mounted with memory shares on volatile "powered ram", but appearlently thats not the case.
You can map memory manually with links, but it wouldnt be very useful, and extremely slow.
Possible: yes.
Practical: No
Theoretically: aux store ~ ram speed
Related
Just curious, I've been flashing the latest nightlies and in the cyanogenmod settings I see 'use compcache'. I have it unchecked, any difference if I check it. I found a you tube video about 2 phones running with and without compcache. Compcache seemed to load pages better over time, but not initially. Any help would be much appreciated
Copied from this post on another thread..
Very roughly you have a finite amount of memory (RAM). When memory is accessed it is virtual addressing, so an application is given a piece of memory, but this isn't real RAM, the operating system manages this and maps it to where the data really is. Because of this system, the OS can give out more memory than is actually available. It can then store some of this memory on a storage medium and "swap" it with some other programmes memory when one is needed and the other isn't. This is how swap works.
With compcache, instead of storing the dormant memory on a hard disk it is compressed and stored in the RAM itself on a virtual disk. This takes up some RAM, but because it is compressed, more RAM is spare tha n if the data were left in memory as it is. Again this has the effect that more memory space can be handed out than the RAM that is really there.
Because Android manages applications so that when memory runs out it just closes applications running in the background, more applications can reside in the larger virtual memory space than before, making multi-tasking more pleasant and responsive.
I know that nfinitefx45 took compcache out of his latest builds in both the Stock and ZenHeroFX ROMs. I don't know all the technical reasons behind it, but I think it just didn't improve performance enough to be worth leaving it in. Granted those are Sense-based ROMs though which are generally a little slower and "bloatier" in nature than AOSP, so the performance difference maybe be greater in CM.
chromiumleaf said:
I know that nfinitefx45 took compcache out of his latest builds in both the Stock and ZenHeroFX ROMs. I don't know all the technical reasons behind it, but I think it just didn't improve performance enough to be worth leaving it in. Granted those are Sense-based ROMs though which are generally a little slower and "bloatier" in nature than AOSP, so the performance difference maybe be greater in CM.
Click to expand...
Click to collapse
Thank you for the response, just wasn't sure. Since Darch left it unchecked, I figured I would ask
I have a Flash application that requires ~130Mb of RAM and I want to run it on my Galaxy S
I've installed Froyo JPK with latest flash 10.1, but just before the end of startup procedure I always get the "exclamation circle" icon which is apparently the "out-of-memory" message in flash.
I have tried to free up the memory with task killers and memory boster, but can't get it above 175 Mb, which is obviously still not enough, since probably browser and other applications/services use it back before the flash application starts completely. Or might be also some limitation my browser in Galaxy S ? -> see EDIT below
On HTC Desire this same application works like a charm.
So I wonder...
Is there any way to get more free memory ? [EDIT: Yes, with "Chuck Norris mode" app killers, but i does not always help and it's lame]
Is there any way to get more than 311-322Mb RAM used for Applications ? [EDIT: Yes, when developpers will found out the way how to get less memory used for video codecs or even found the misterious 32Mb which are yet nowhere to be found]
Can we expect to this memory issue to be solved in future Froyo releases ? [probably only Samsung knows that, but for now it seems very unlikely]
EDIT: Found out that I get out-of-memory with every single application when it reaches 128Mb of RAM usage.
This is again specific to SGS. Looks like this is some internal max memory allocation size per application/VM
So here is another question:
Is there any way to increase this limit (might be android internal or dalvik VM related)?
no
no
no
sorry to say that...
flypubec said:
I have a Flash application that requires ~130Mb of RAM and I want to run it on my Galaxy S
I've installed Froyo JPK with latest flash 10.1, but just before the end of startup procedure I always get the "exclamation circle" icon which is apparently the "out-of-memory" message in flash.
I have tried to free up the memory with task killers and memory boster, but can't get it above 175 Mb, which is obviously still not enough, since probably browser and other applications/services use it back before the flash application starts completely. Or might be also some limitation my browser in Galaxy S ?
On HTC Desire this same application works like a charm.
So I wonder...
Is there any way to get more free memory ?
Is there any way to get more than 309Mb RAM used for Applications ?
Can we expect to this memory issue to be solved in future Froyo releases ?
Click to expand...
Click to collapse
If you need that amount of memory you should use a computer.
Its not the phone thats the probem here. its what you try to run.
//Damian
I would personally put up money to get the RAM issue resolved.
People keep saying that 324~ MB is enough. That's not the point though. The point is that Samsung advertised 512MB. Any reasonable person would assume that, like other phones containing 512MB of RAM, that the phone would have 400+MB available for general usage. 324 MB for such a power phone is dismal. I consider Samsung's claim to be a form of false advertising. Yes, technically the phone has 512MB of RAM, but not according to the reasonable expectations of a consumer. Almost half of the stated RAM isn't usable to the end user for applications. This is a problem with the phone from the standpoint of delivering the expected value to the consumer.
Dear XDA Developer Legends,
Do you think it is possible that you will be able to free up ram that is allocated to the ram disk?
Yours,
Concerned Customers
Hm, maybe its applicable for a lawsuit?
andars05 said:
I would personally put up money to get the RAM issue resolved.
People keep saying that 324~ MB is enough. That's not the point though. The point is that Samsung advertised 512MB. Any reasonable person would assume that, like other phones containing 512MB of RAM, that the phone would have 400+MB available for general usage. 324 MB for such a power phone is dismal. I consider Samsung's claim to be a form of false advertising. Yes, technically the phone has 512MB of RAM, but not according to the reasonable expectations of a consumer. Almost half of the stated RAM isn't usable to the end user for applications. This is a problem with the phone from the standpoint of delivering the expected value to the consumer.
Click to expand...
Click to collapse
the phone has 512MB and you can use all. But the system use some of it.
Its only user that cant read and understand how it work hat keep asking about it.
And this phone has more ram that most have. So yes it is enough of ram.
'If you try to runt 50+ all time you will and up with low memory.
But its the same on a computer. none complain about that.
Only that you can only see 3.5GB on windows and use that on a 32.bit system. Well now you can see 4GB and all people are happy.. but they still cant use it, but its looks good.
That the same with this phone.
If samsung did show 512MB and did show how much that was free, all people that complain would be happy. but it dont change a bit what thay can use.
yaocheng said:
no
no
no
sorry to say that...
Click to expand...
Click to collapse
That make no sense
there is no reason to get less memory with the i9000 when comparable devices like the nexus one running the same OS version has 100mb+ more free ram
DamianGto said:
the phone has 512MB and you can use all. But the system use some of it.
Its only user that cant read and understand how it work hat keep asking about it.
And this phone has more ram that most have. So yes it is enough of ram.
'If you try to runt 50+ all time you will and up with low memory.
But its the same on a computer. none complain about that.
Only that you can only see 3.5GB on windows and use that on a 32.bit system. Well now you can see 4GB and all people are happy.. but they still cant use it, but its looks good.
That the same with this phone.
If samsung did show 512MB and did show how much that was free, all people that complain would be happy. but it dont change a bit what thay can use.
Click to expand...
Click to collapse
This misses the point of my original statement. The Nexus One is advertised (along with many other phones) as having 512MB of RAM. The N1 has 380-400+MB available of RAM available for applications, as do many other phones containing 512MB of RAM.
Yes, the system does reserve some for certain system functions. Even after those functions have been reserved on other 512MB models, the vast majority is still available to the end user. This is not the case on the Galaxy S series. This is evident by the original posters comment regarding his application.
To address your Windows example: Windows 32 bit actually states that only a portion of the 4GB is available for use. I don't see in the advertisements where Samsung states "Contains 512MB -- 324MB available for actual usage"
I think most consumers, like myself, would assume that the amount of RAM advertised is directly correlated to the amount usable for applications.
Otherwise, what's the difference between a phone advertised as having 384MB and the Galaxy S? They both could have the same amount of RAM available.
andars05 said:
Windows 32 bit actually states that only a portion of the 4GB is available for use.
Click to expand...
Click to collapse
But its not the case here.
+1 for the rest.
This is what i get if I run top command from adb from a freshly booted phone:
←[H←[JMem: 296300K used, 15048K free, 0K shrd, 6968K buff, 134720K cached
CPU: 1.3% usr 2.3% sys 0.0% nic 96.2% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.99 1.33 0.59 1/351 3109
Wonder what this "cached" means.
Can somebody pls run this on HTC desire ?
I don't think our phone has 512mb of RAM physically available to the system. I think the phone has 512mb of RAM in total but it looks like 128mb of it is graphics RAM or something. Meaning we only have 384mb available to the system. The maximum amount of RAM I can ever get free is about 175mb so I don't think that it's reasonable that the system is using about 337mb of RAM. My desktop linux system uses less RAM than that on boot.
Isn't the memory allocation for graphics dynamic?
how often does the graphics really need all that ram?
any why aren't other devices affected by this? (doesn't the GPU on nexus or milestone for example need memory allocated?)
sionyboy said:
Do you think it is possible that you will be able to free up ram that is allocated to the ram disk?
Click to expand...
Click to collapse
Please explain. Which ram disk do you mean?
Also, since it runs on linux, cant we assign some space from the internal sd (or external) to make a virtual ram disk that would be used as ram when needed? some king a paging file that we know on windows...
And if this is possible, can we assign it to video so graphism will be a little slower but app will become faster?
I think there is something we can do if we can change assignation of ram, apps, and video to make this phone way much powerful.
(just an idea...)
franklin01 said:
Also, since it runs on linux, cant we assign some space from the internal sd (or external) to make a virtual ram disk that would be used as ram when needed? some king a paging file that we know on windows...
And if this is possible, can we assign it to video so graphism will be a little slower but app will become faster?
I think there is something we can do if we can change assignation of ram, apps, and video to make this phone way much powerful.
(just an idea...)
Click to expand...
Click to collapse
There's always Compcache..that worked like a charm on the G1 and Magic.
http://forum.xda-developers.com/showthread.php?t=724960
As you can see, all other Android phones reserve some memory to the system... It's just the way it is.
the sgs kernel creates amemory blackhole, that is, it starts using memory after a certain memory address.
It does that because many things in the hardware are using fixed memory addresses to allocate their own memory which is not managed by the kernel itself and the kernel will never touch or see it.
what you call "system memory" is usually memory used and seen by the kernel, for the OS's functionality: various applications, services, daemons, kernel daemons, kernel memory itself (its not much) and some time some ramdisks.
Every phone also uses that of course, which amounts for like 80-130megs. They also often use small black holes of like a couple of megs, but that's so little that no one will notice.
The sgs makes a big blackhole. To me it's more of a design fault, but not much you can do about it I guess. It would need someone who's going to read the complete hardware sheets to bypass that, if at all possible, lol. Or samsung.
I bet they fixed the design issue in the galaxy tab and either the chip has separate dedicated memory either there's no blackhole.
Another theory why the blackhole is necessary is that there's a bug in the chip and it's messing up a portion of the memory, so this portion is left unused (blackhole'd - never seen by the kernel) for stability reasons.
i hope this gives some insight.
reference from the previously linked post:
- Galaxy S [2.1] RAM = 512 MiB | Linux = 325 MiB | Reserved = 187 MiB (with I9000XWJM2 firmware)
notice the huge black hole here (187 megs)
I used to have more than 300mb free after reboot with nexus one...
DamianGto said:
the phone has 512MB and you can use all. But the system use some of it.
Its only user that cant read and understand how it work hat keep asking about it.
Click to expand...
Click to collapse
No, *we* can't use it all , because we != system. The debate is not whether or not there is 512MB of physical memory; there could be , since Samsung advertises as having 512MB, but its not all user accessible memory. We don't know for what the system is utilizing that memory, I don't think its for loading some of the core system components; otherwise we should be left with more free RAM like other devices with 512MB of RAM (i.e Nexus One). Its more likely that 188MB is used by either the GPU and other hardware or as a Ram disk.
In contrast, other phones having 512MB of RAM don't use user allocated memory for system or hardware use (at least not the same way Samsung does). They are somehow handling it differently, maybe their GPU's and Other hardware software counterparts have dedicated memory. Whatever said, at the end of the day in the user's point of view, Galaxy S DOES NOT have 512MB of RAM as what we were all led to believe . That is pure deception !!
If they knew this was the case then they should have alerted this to the users. For-example a spec sheet for Samsung Fascinates says 512MB Flash/384MB RAM they should have advertised Galaxy S like that instead of lying through their teeth.
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.
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
My boss had me setup some RPi 2's to access remotely and browse to download/route resumes from different sites.
Each machine has it's own login for a specific site (Indeed, Dice, Monster, etc.)
I removed a lot of the unnecessary packages and tried to slim it down. I tested out RDP, VNC and SSH. Some of my coworkers complain about it being laggy, especially Dice.
I have it setup right now for them using SSH and when they log in it opens up midori only. So there is no desktop environment running or anything like that.
It has seemed to help, but I was wondering if there was a way to maximize the performance, maybe tweak the kernel, or somehow give midori more memory to use when it runs.
If you guys have any suggestions that would be much appreciated. I'm trying to make it run as smooth as possible with little to know screen lag.
Thanks, very interesting!
I assume you are using the raspbian os. Run 'sudo nano /boot/config.txt' in a terminal to get into some extra system settings. (ctrl+x to exit) At or near the bottom, you should see something about #arm_freq. Here you can easily overclock your pi. I have set mine up to 1100Mhz(on the pi2). It's not perfect, I have had a few programs close unexpectedly, but it's hella fast. Play with these couple settings on one till you reach a stable, but still speedy system. Note -play at your own risk. You can potentially damage or break the pi this way, and your warranty WILL be void!
As far as memory goes, you can add swap memory.. Swap is a partition that is used as RAM when the RAM is full or close, and on a desktop it works great. But on a pi, the partition is written to the sd card. Modern sd cards are good, but they get bad sectors easily from repetitive read/write actions. Combine that with how often RAM has to read/write... it can significantly decrease the lifespan of your sdcard. Again, use at your own discretion. Swap is also slower than regular RAM, and many people recommend turning it off to lengthen sd card life
The biggest factor here I think though is ssh/vnc. It will take roughly twice as long as browsing on the pi (or a desktop) alone because the pi is acting as a relay; it has to get packets, interpret them, process and display (even if there is no direct monitor) then send them to the desktops to complete the same process.
cool share. Thank you!!