From collectd Wiki
Revision as of 10:33, 5 November 2012 by Octo (talk | contribs) (FreeBSD: According to Ed FreeBSD provides kern.cp_times since FreeBSD 7.)

Jump to: navigation, search
CPU plugin
Type: read
Callbacks: init, read
Status: supported
First version: 1.3
Copyright: 2005–2009 Florian octo Forster
2008 Oleg King
2009 Simon Kuhnle
2009 Manuel Sanmartin
License: GPLv2
Manpage: n/a
List of Plugins

The CPU plugin collects the amount of time spent by the CPU in various states, most notably executing user code, executing system code, waiting for IO-operations and being idle.

This since has been an FAQ: The CPU plugin does not collect percentages. It collects “jiffies”, the units of scheduling. On many Linux systems there are circa 100 jiffies in one second, but this does not mean you will end up with a percentage. Depending on system load, hardware, whether or not the system is virtualized and possibly half a dozen other factors there may be more or less than 100 jiffies in one second. There is absolutely no guarantee that all states add up to 100, an absolute must for percentages.

Example graph

CPU utilization of a Linux machine.

CPU utilization of a Windows® machine.


  • Linux
    • /proc-Filesystem
  • Solaris
    • kstat_read(3KSTAT)
  • OpenBSD
    • sysctl(3)
  • FreeBSD
    • sysctlbyname(3)
  • Mac OS X
  • AIX
    • libperfstat(3)
  • Other


DragonFly BSD and FreeBSD

On DragonFly BSD and old FreeBSD (before version 7), you may encounter this warning:

cpu: Only one processor supported when using `sysctlbyname' (found %d)

This warning tells you that you have more than one CPU, but that due to limitations in the interface used to read CPU usage information, only the grand total of all CPUs can be collected. Here, "Processor" is a processor as seen by the operating system, so it may actually refer to a "core".


The CPU plugin has been available since version 1.3.