Tools to profile memory & cpu on Linux

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).


Solution 1:

I use:
Orca - http://www.orcaware.com/orca/
Munin - http://munin-monitoring.org/

Solution 2:

An excellent tool for doing demand monitoring is nmon.

Available for AIX and Linux, it captures a large amount of system stats and there is an Excel spreadsheet available on the site to turn all the data into sexy graphs.

For doing long-term monitoring, the other options presented (Orca, Munin, Spong, Nagios, etc.) are better options.