On my Ubuntu 8.10, gvfsd takes up 128.6MB memory. What is the process doing actually? Can I reduce the memory it takes?
gvfsd is the daemon process for GVFS, the GNOME Virtual File System (or possibly it's predecessor, GnomeVFS). It's a GNOME component that handles filesystem automounting when you're logged into the GNOME-based Ubuntu desktop. This includes devices like USB thumb drives and external HDDs, optical discs (CD/DVD), Samba or NFS or SSHFS network mounts, and other useful userspace filesystems (FUSE).
Regarding memory usage: Counting memory usage on Linux is complicated, and depending on which tool you use, and which output field you read, the number can be wildly different from how much physical memory is actually in use by the process. See "Linux: How to measure actual memory usage of an application or process?" or "Virtual memory on Linux doesn’t add up?" or "Understanding memory usage on Linux" for more details. Essentially, many memory usage tools under Linux don't report the real memory in use, but instead report how much memory the process would take up if it were the only process running.
But a lot of that memory is shared between multiple processes -- on my system, gvfsd is linked to many libraries like libdbus-1 and libc and libpthread that are also used by many other processes. Shared libraries like those only need to be loaded once, and all processes that need them use the same copy in memory -- but this inflates the memory usage reported.
If you add some info on what utility gave you that memory usage number, we can give more details about where the number came from.