Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there some way to monitor my CPU usage over a period of time, e.g. get a graph that shows CPU% vs. date/time? I occasionally see high load using htop, but I'd like to see what's happening throughout the day.

The more lightweight, the better :)

share|improve this question
up vote 4 down vote accepted

There's nmon for Linux which is in Ubuntu build. You can run nmon in 'spreadsheet' mode where it samples data every few minutes and saves it to a file. There are various tools for then graphing that, or you can just review the data manually.

More complex options include things like munin, cacti, etc. but they look at just more than straight CPU.

share|improve this answer
Checkout Another free tool doing the same. Easy to setup and has a convenient interface to view the output. – Vishal Dec 24 '13 at 9:42

The command sar is intended to do this and should be available by default under Ubuntu as the sysstat package.

It's output is plain-text rather than graphical, but kSar is intended to take this data and make it pretty for you. This may need to be built or found in an unsupported repository. (I don't know.)

nixCraft did a great write up on the tool you may want to refer to for more information.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.