I have tried installing Squeeze, Lucid and Oneiric on my new dedicated server (The host doesn't have Precise yet), and noticed that on fresh install they have very different memory usages.
On Lucid or Oneiric, about 200-300MB memory is used (excluding buffers/cache), I have checked top, but it's just the normal sshd, bash, init, cron, etc. All added up they use only about 10-20MB. On Squeeze, only less than 100MB is used.
I checked /proc/meminfo (in Oneiric), and found VmallocUsed to be much larger in Ubuntu, checked /proc/vmallocinfo, and found the following lines:
0xffffc90006600000-0xffffc90006681000 528384 i9xx_setup+0x3f/0xb0 phys=fe000000 ioremap 0xffffc90006700000-0xffffc90006901000 2101248 intel_gtt_init+0xa0/0x130 phys=fe200000 ioremap 0xffffc90006901000-0xffffc90007102000 8392704 sys_swapon+0x171/0x570 pages=2048 vmalloc vpages N0=2048 0xffffc90007180000-0xffffc90007581000 4198400 pci_iomap+0x80/0xc0 phys=fe000000 ioremap 0xffffc90007600000-0xffffc90017601000 268439552 i915_driver_load+0x111/0x6e0 [i915] phys=c0000000 ioremap 0xffffe8ffffc00000-0xffffe8ffffe00000 2097152 pcpu_get_vm_areas+0x0/0x510 vmalloc
Of these, only the sys_swapon and pcpu_get_vm_areas lines exist in Squeeze.
My question is, why is "i915_driver_load" using so much RAM? Is it related to graphics stuff that I don't need on a server? How do I release the RAM if it's not necessary for the server to function?