The functionality you are asking for is provided by sar
, a component of sysstat
. The original Web page of sar states:
Under Linux, sar serves to log and evaluate a variety of information regarding system activity. With performance problems, sar also permits retroactive analysis of the load values for various sub-systems (CPUs, memory, disks, interrupts, network interfaces and so forth) and limitation of problems in this manner.
I have also found, initially, this Web page very helpful. It states, at the very beginning:
Whenever I perform any type of activity that requires me to look at historical system statistics such as load average, CPU utilization, I/O wait state, or even memory usage; I usually skip the System Monitoring Applications like Nagios or Zenoss and start running the sar command. While I’m not saying that sar completely replaces those tools I am saying that sar is quick and dirty and if all you want is some raw numbers from a certain time frame, sar is a great tool.
What is sar? sar (System Activity Reporter) is a command that ships with the sysstat package. Sysstat is a collection of Unix tools used for performance monitoring, the package includes tools such as iostat, mpstat, pidstat, sadf and sar.
Along with the real time commands sysstat will install a cronjob that will run every 10 minutes and collect the systems performance information. Sar is the command you can use to read the collected
Careful when you set it on Debian (wich is where I am running it), you need to activate automatic logging, which the default package downloaded from the repos does not do for you. In the file etc/default/sysstat, set the Enabled
parameters to true, you must do it by hand.