Linux – Tools to Profile Memory and CPU

linuxmemoryprofile

Any recommendations for a free tool to profile memory/swap/cpu usage on Linux (Ubuntu), preferably with graphical timeline charts?

I'm thinking of something like ntop but for memory i.e. that provides a web interface into the data collected (as this will be running on a remote server).