Another - replace busybox with a cutdown version and don't use shared glibc for it- use static uclibc... using shared glibc for busybox is a complete waste of resources as soon as /sbin/init runs. If you don't believe me run top with glibc shared... remaster and rerun top with a static uclibc build (you can get recent prebuilt versions from impactlinux.com/aboriginal) ... the difference in ram usage exceeds the difference in size at the first run of any busybox app and since they are both in ram ...
Does this take into account the kernel-level sharing of library pages?
There are other apps linked to glibc, such as udev.
To go even further, rebuild any busybox applets that run daemonized as individual static uclibc binaries - use allnoconfig and then select only that applet. (aboriginal has a cross compiler for this too) ... or just don't run those daemons. *logd, getty, udev...(aboriginal uses oneit instead of init)
You mention two parts here - uclibc using less ram than glibc, and separation of daemons. Why the separation?
Busybox with one applet would start faster, without the applet name lookup, but lose in size due to the binary sharing. RAM use when separated should be ~the same, if not, that would be a bug.
there is a new method since 2.6.32 called devtmpfs which is a better, more simplified version of the former devfs (problems with its original incarnation are a big reason the likes of hal and udev even exist) ... the new implementation is only ~300 lines of kernel code, but is supposed to significantly speed up the boot process compared to udev (this may not be as significant when compared to distros that have a partial static implementation of /dev though)
We took a look in the 3.x development cycle. It proved not to gain much at all, indeed due to our existing static dir.
<rambling>
.... I really wish they (kernel devs) would pick a name and stick to it though -- ramzswap (ore whatever it was called) is now zram - which conflicts with the naming of a very fast and cheap (to make ... maybe not necessarily to license) alternative cache/ram technology - so it will likely change again.
</rambling>
I understand the rename ramzswap -> zram, since it's no longer limited to swap.