Ubuntu uses compcache to generate a compressed memory ramzswap device that we can swap onto to. My experience is that in practice we have a compression ratio of roughly 2:1 or better so each page swapped out saves ~2KB. Ubuntu defaults to a compcache size of 25% of ram, when full this device takes about 12% of ram and also increases the effective amount of memory availiable to userspace by about 12%.
Using the default compcache size of 25% of RAM I was not able to use the ubiquity installer on the last alpha of the Ubuntu Live CD in a 128MB machine. I haven't tried the beta, or Xubuntu, but the LiveCD install doesn't load Gnome so I wouldn't imagine there would be any difference. Increasing the compcache size to 100% by swapping on four ramzswap partions of ram fixed this. 100% of RAM is reasonable because assuming a 2:1 compression ratio this means that compcache will use up to 50% of RAM before triggering the OOM killer (and using 50% of ram is probably better than triggering an OOM kill during an install). I tried to get more precise figures on how much ramzswap was needed to get a reliable install but I came across various difficulty in generating figures and benchmarks such as: lack of realistic 128MB era hardware to test on*, installs that work despite the OOM killer being triggered (e.g taking out pulseaudio). For example I with 75% I appeared to be able to install successfully, but the OOM killer was triggered. However, if 1) We still want to support 128MB Xubuntu ubiquity installs, and 2) We are still having trouble with 128MB RAM installs at the last minute Then tuning the size of Ramzswap/compcache to 100% seems like the simplest way of doing this. It may be slow on 128MB era hardware (it is mildly sluggish in a VM), but it should work. Additionally unless the user has some other form of swap active while running ubiquity, it shouldn't make the situation worse as compcache only allocates memory as needed. One difficulty: tuning Ramzswap requires the rzcontrol utility, but this was not included in the LiveCD. It would be trivial to modify the ramzswap kernel module source to default to 100%, but that would be ugly in a number of ways. [*] The only old machine I have that still works is a G3 powermac that can't boot DVDs/oversized cds, and I haven't been able to use the beta due to https://bugs.launchpad.net/bugs/447735. -- John C. McCabe-Dansted -- xubuntu-devel mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/xubuntu-devel
