Hey, look at this cool thing I did, I sure hope the friendly Evolution maintainers commit it upstream so that we can all benefit in a happy orgy of peace and love. Note that without the mmap() patch, (my) Evolution consumes a lot more of course.
The patch, The mmap information from proc
cp -a $HOME/.evolution $HOME/evo.backup cvs co evolution-data-server; cd evolution-data-server cd camel; patch -p0 < patch ; cd .. ./autogen.sh --prefix=/opt/camel make && sudo make install export LD_LIBRARY_PATH=/opt/camel/lib
and then
/opt/tinymail/bin/tinymail
or
evolution --force-shutdown ; evolution
It will rewrite all “summary” files in your $HOME/.evolution/mail/type/$account directory. Don’t worry, if you go back to the old implementation, it will reverse that by doing the exact same thing. After that, go in offline mode. Shut down Evolution. Restart Evolution, for example using valgrind and massif. If things go terribly wrong, you still have the old files in “evo.backup” (right?). The patch only supports MBOX and IMAP. If you use another provider type, you will have to wait for support for that.
In online mode, Evolution will still (imho) consume to much memory. But I already have a very good idea where and how to fix that (imap_rescan for example).
Note that this is highly experimental. It will most likely crash. You will most likely have to launch Evolution in your debugger a few times, and fix things before you can get this working. Normal users don’t want this yet. I’m serious!