Skip to content

Plugin CPU

Florian Forster edited this page Nov 26, 2023 · 1 revision
Clone this wiki locally
Name: CPU plugin
Type: read
Callbacks: init, read
Status: supported
FirstVersion: 1.3
Copyright: 2005–2009 Florian octo Forster, 2008 Oleg King, 2009 Simon Kuhnle, 2009 Manuel Sanmartin
License: GPLv2
Manpage: collectd.conf(5)
See also: 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

Plugin-cpu.png CPU utilization of a Linux machine.

Plugin-cpu-windows.png CPU utilization of a Windows machine.

Dependencies

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

Caveats

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

History

The CPU plugin has been available since version 1.3.