<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://www.root-wiki.de/index.php?action=history&amp;feed=atom&amp;title=Munin_-_cpu_per_core</id>
		<title>Munin - cpu per core - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://www.root-wiki.de/index.php?action=history&amp;feed=atom&amp;title=Munin_-_cpu_per_core"/>
		<link rel="alternate" type="text/html" href="https://www.root-wiki.de/index.php?title=Munin_-_cpu_per_core&amp;action=history"/>
		<updated>2026-04-29T05:36:23Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in Root-Wiki</subtitle>
		<generator>MediaWiki 1.25.3</generator>

	<entry>
		<id>https://www.root-wiki.de/index.php?title=Munin_-_cpu_per_core&amp;diff=531&amp;oldid=prev</id>
		<title>Nevakee: /* Problembehebung */</title>
		<link rel="alternate" type="text/html" href="https://www.root-wiki.de/index.php?title=Munin_-_cpu_per_core&amp;diff=531&amp;oldid=prev"/>
				<updated>2014-09-21T08:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Problembehebung&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Code ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/usr/bin/perl -w&lt;br /&gt;
# -*- cperl -*-&lt;br /&gt;
use JSON;&lt;br /&gt;
&lt;br /&gt;
=head1 NAME&lt;br /&gt;
&lt;br /&gt;
cpu_per_core - plugin to monitor CPU usage for each CPU core&lt;br /&gt;
&lt;br /&gt;
=head1 CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=head1 NOTES&lt;br /&gt;
&lt;br /&gt;
=head1 AUTHOR&lt;br /&gt;
&lt;br /&gt;
Matija Grabnar&lt;br /&gt;
&lt;br /&gt;
=head1 LICENSE&lt;br /&gt;
&lt;br /&gt;
GPLv2&lt;br /&gt;
&lt;br /&gt;
=head1 MAGIC MARKERS&lt;br /&gt;
&lt;br /&gt;
 #%# family=system&lt;br /&gt;
 #%# capabilities=autoconf&lt;br /&gt;
&lt;br /&gt;
=cut&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Munin::Plugin;&lt;br /&gt;
&lt;br /&gt;
my $cache = &amp;quot;/tmp/cpu_per_core.json&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
my( $cpu,&lt;br /&gt;
    $user,&lt;br /&gt;
    $nice,&lt;br /&gt;
    $system,&lt;br /&gt;
    $idle,&lt;br /&gt;
    $iowait,&lt;br /&gt;
    $irq,&lt;br /&gt;
    $softirq,&lt;br /&gt;
    $steal,&lt;br /&gt;
    $guest,&lt;br /&gt;
    $guest_nice);&lt;br /&gt;
my @cpu;&lt;br /&gt;
&lt;br /&gt;
sub print_values {&lt;br /&gt;
  my ($json,$str);&lt;br /&gt;
  if (open(CACHE,&amp;quot;&amp;lt;&amp;quot;,&amp;quot;$cache&amp;quot;)) {&lt;br /&gt;
    my $str=&amp;lt;CACHE&amp;gt;;&lt;br /&gt;
    eval {&lt;br /&gt;
      $json = decode_json($str);&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
  print &amp;quot;multigraph cpu_per_core\n&amp;quot;;&lt;br /&gt;
  open(INP,&amp;quot;&amp;lt;&amp;quot;,&amp;quot;/proc/stat&amp;quot;) || die &amp;quot;Can not open /proc/stat/: $!\n&amp;quot;;&lt;br /&gt;
  while (&amp;lt;INP&amp;gt;) {&lt;br /&gt;
    next unless /^cpu(\d+)\s+(\d+)(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?\s+/;&lt;br /&gt;
    $cpu     = $1;&lt;br /&gt;
    $user    = $2;&lt;br /&gt;
    $nice    = $3 || 0;&lt;br /&gt;
    $system  = $4 || 0;&lt;br /&gt;
    $idle    = $5 || 0;&lt;br /&gt;
    $iowait  = $6 || 0;&lt;br /&gt;
    $irq     = $7 || 0;&lt;br /&gt;
    $softirq = $8 || 0;&lt;br /&gt;
    $steal   = $9 || 0;&lt;br /&gt;
    $guest   = $10 || 0;&lt;br /&gt;
    $guest_nice = $11 || 0;&lt;br /&gt;
    push(@cpu,{&lt;br /&gt;
	       cpu     =&amp;gt; $1,&lt;br /&gt;
	       user    =&amp;gt; $2,&lt;br /&gt;
	       nice    =&amp;gt; $3 || 0,&lt;br /&gt;
	       system  =&amp;gt; $4 || 0,&lt;br /&gt;
	       idle    =&amp;gt; $5 || 0,&lt;br /&gt;
	       iowait  =&amp;gt; $6 || 0,&lt;br /&gt;
	       irq     =&amp;gt; $7 || 0,&lt;br /&gt;
	       softirq =&amp;gt; $8 || 0,&lt;br /&gt;
	       steal   =&amp;gt; $9 || 0,&lt;br /&gt;
	       guest   =&amp;gt; $10 || 0,&lt;br /&gt;
	       guest_nice =&amp;gt; $11 || 0,&lt;br /&gt;
	      });&lt;br /&gt;
    if (defined($json-&amp;gt;[$cpu])) {&lt;br /&gt;
      $user =    $cpu[$cpu]-&amp;gt;{user}    - $json-&amp;gt;[$cpu]-&amp;gt;{user};&lt;br /&gt;
      $nice =    $cpu[$cpu]-&amp;gt;{nice}    - $json-&amp;gt;[$cpu]-&amp;gt;{nice};&lt;br /&gt;
      $system =  $cpu[$cpu]-&amp;gt;{system}  - $json-&amp;gt;[$cpu]-&amp;gt;{system};&lt;br /&gt;
      $idle =    $cpu[$cpu]-&amp;gt;{idle}    - $json-&amp;gt;[$cpu]-&amp;gt;{idle};&lt;br /&gt;
      $iowait =  $cpu[$cpu]-&amp;gt;{iowait}  - $json-&amp;gt;[$cpu]-&amp;gt;{iowait};&lt;br /&gt;
      $irq =     $cpu[$cpu]-&amp;gt;{irq}     - $json-&amp;gt;[$cpu]-&amp;gt;{irq};&lt;br /&gt;
      $softirq = $cpu[$cpu]-&amp;gt;{softirq} - $json-&amp;gt;[$cpu]-&amp;gt;{softirq};&lt;br /&gt;
      $steal =   $cpu[$cpu]-&amp;gt;{steal}   - $json-&amp;gt;[$cpu]-&amp;gt;{steal};&lt;br /&gt;
      $guest =   $cpu[$cpu]-&amp;gt;{guest}   - $json-&amp;gt;[$cpu]-&amp;gt;{guest};&lt;br /&gt;
      $guest_nice = $cpu[$cpu]-&amp;gt;{guest_nice} - $json-&amp;gt;[$cpu]-&amp;gt;{guest_nice};&lt;br /&gt;
    } else {&lt;br /&gt;
      $user = $cpu[$cpu]-&amp;gt;{user};&lt;br /&gt;
      $nice = $cpu[$cpu]-&amp;gt;{nice};&lt;br /&gt;
      $system = $cpu[$cpu]-&amp;gt;{system};&lt;br /&gt;
      $idle = $cpu[$cpu]-&amp;gt;{idle};&lt;br /&gt;
      $iowait = $cpu[$cpu]-&amp;gt;{iowait};&lt;br /&gt;
      $irq = $cpu[$cpu]-&amp;gt;{irq};&lt;br /&gt;
      $softirq = $cpu[$cpu]-&amp;gt;{softirq};&lt;br /&gt;
      $steal = $cpu[$cpu]-&amp;gt;{steal};&lt;br /&gt;
      $guest = $cpu[$cpu]-&amp;gt;{guest};&lt;br /&gt;
      $guest_nice = $cpu[$cpu]-&amp;gt;{guest_nice};&lt;br /&gt;
    }&lt;br /&gt;
    my $usage = int(100-100*($idle/($user+$nice+$system+$idle+$iowait+&lt;br /&gt;
				    $irq+$softirq+$steal+$guest+$guest_nice)));&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_usage.value %d\n&amp;quot;,$cpu,$usage;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  foreach my $cpu (sort {$a-&amp;gt;{cpu}&amp;lt;=&amp;gt;$b-&amp;gt;{cpu}} @cpu) {&lt;br /&gt;
    if (defined($json-&amp;gt;[$cpu-&amp;gt;{cpu}])) {&lt;br /&gt;
      $user =    $cpu-&amp;gt;{user}    - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{user};&lt;br /&gt;
      $nice =    $cpu-&amp;gt;{nice}    - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{nice};&lt;br /&gt;
      $system =  $cpu-&amp;gt;{system}  - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{system};&lt;br /&gt;
      $idle =    $cpu-&amp;gt;{idle}    - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{idle};&lt;br /&gt;
      $iowait =  $cpu-&amp;gt;{iowait}  - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{iowait};&lt;br /&gt;
      $irq =     $cpu-&amp;gt;{irq}     - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{irq};&lt;br /&gt;
      $softirq = $cpu-&amp;gt;{softirq} - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{softirq};&lt;br /&gt;
      $steal =   $cpu-&amp;gt;{steal}   - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{steal};&lt;br /&gt;
      $guest =   $cpu-&amp;gt;{guest}   - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{guest};&lt;br /&gt;
      $guest_nice = $cpu-&amp;gt;{guest_nice} - $json-&amp;gt;[$cpu-&amp;gt;{cpu}]-&amp;gt;{guest_nice};&lt;br /&gt;
    } else {&lt;br /&gt;
      $user       = $cpu-&amp;gt;{user};&lt;br /&gt;
      $nice       = $cpu-&amp;gt;{nice};&lt;br /&gt;
      $system     = $cpu-&amp;gt;{system};&lt;br /&gt;
      $idle       = $cpu-&amp;gt;{idle};&lt;br /&gt;
      $iowait     = $cpu-&amp;gt;{iowait};&lt;br /&gt;
      $irq        = $cpu-&amp;gt;{irq};&lt;br /&gt;
      $softirq    = $cpu-&amp;gt;{softirq};&lt;br /&gt;
      $steal      = $cpu-&amp;gt;{steal};&lt;br /&gt;
      $guest      = $cpu-&amp;gt;{guest};&lt;br /&gt;
      $guest_nice = $cpu-&amp;gt;{guest_nice};&lt;br /&gt;
    }&lt;br /&gt;
    my $total = $user + $nice + $system + $idle + $iowait + $irq +&lt;br /&gt;
      $softirq + $steal + $guest + $guest_nice;&lt;br /&gt;
&lt;br /&gt;
    my $factor = 100/$total;&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;multigraph cpu_per_core.cpu%d\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_system.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$system * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_user.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$user * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_nice.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$nice * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_idle.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$idle * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_iowait.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$iowait * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_irq.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$irq * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_softirq.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$softirq * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_steal.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$steal * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$guest * $factor;&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest_nice.value %3.6f\n&amp;quot;,$cpu-&amp;gt;{cpu},$guest_nice&lt;br /&gt;
       * $factor;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  $str = encode_json(\@cpu);&lt;br /&gt;
  open(CACHE,&amp;quot;&amp;gt;&amp;quot;,$cache) ||&lt;br /&gt;
    die &amp;quot;Can not write to cache file $cache : $!\n&amp;quot;;&lt;br /&gt;
  print CACHE $str;&lt;br /&gt;
  close(CACHE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
need_multigraph();&lt;br /&gt;
&lt;br /&gt;
$ARGV[0]='' unless defined($ARGV[0]);&lt;br /&gt;
&lt;br /&gt;
if ( $ARGV[0] eq &amp;quot;autoconf&amp;quot; ) {&lt;br /&gt;
  if (open(INP,&amp;quot;&amp;lt;&amp;quot;,&amp;quot;/proc/stat&amp;quot;)) {&lt;br /&gt;
    print &amp;quot;yes\n&amp;quot;;&lt;br /&gt;
    exit 0;&lt;br /&gt;
  } else {&lt;br /&gt;
    print &amp;quot;no\n&amp;quot;;&lt;br /&gt;
    exit 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( $ARGV[0] eq &amp;quot;config&amp;quot; ) {&lt;br /&gt;
&lt;br /&gt;
  # The headers&lt;br /&gt;
  print &amp;quot;multigraph cpu_per_core\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_info Monitoring CPU per core\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_title CPU per Core usage\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_vlabel %\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_category system\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_scale no\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_args --upper-limit 100 --lower-limit 0 --rigid\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;graph_vlabel %\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    open(INP,&amp;quot;&amp;lt;&amp;quot;,&amp;quot;/proc/stat&amp;quot;) || die &amp;quot;Can not open /proc/stat/: $!\n&amp;quot;;&lt;br /&gt;
  while (&amp;lt;INP&amp;gt;) {&lt;br /&gt;
    next unless /^cpu(\d+)\s+(\d+)(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?(\s+\d+)?\s+/;&lt;br /&gt;
    $cpu     = $1;&lt;br /&gt;
    $user    = $2;&lt;br /&gt;
    $nice    = $3 || 0;&lt;br /&gt;
    $system  = $4 || 0;&lt;br /&gt;
    $idle    = $5 || 0;&lt;br /&gt;
    $iowait  = $6 || 0;&lt;br /&gt;
    $irq     = $7 || 0;&lt;br /&gt;
    $softirq = $8 || 0;&lt;br /&gt;
    $steal   = $9 || 0;&lt;br /&gt;
    $guest   = $10 || 0;&lt;br /&gt;
    $guest_nice = $11 || 0;&lt;br /&gt;
    push(@cpu,{&lt;br /&gt;
	       cpu     =&amp;gt; $1,&lt;br /&gt;
	       user    =&amp;gt; $2,&lt;br /&gt;
	       nice    =&amp;gt; $3 || 0,&lt;br /&gt;
	       system  =&amp;gt; $4 || 0,&lt;br /&gt;
	       idle    =&amp;gt; $5 || 0,&lt;br /&gt;
	       iowait  =&amp;gt; $6 || 0,&lt;br /&gt;
	       irq     =&amp;gt; $7 || 0,&lt;br /&gt;
	       softirq =&amp;gt; $8 || 0,&lt;br /&gt;
	       steal   =&amp;gt; $9 || 0,&lt;br /&gt;
	       guest   =&amp;gt; $10 || 0,&lt;br /&gt;
	       guest_nice =&amp;gt; $11 || 0,&lt;br /&gt;
	      });&lt;br /&gt;
    print &amp;quot;cpu${cpu}_usage.label CPU core $cpu - % busy\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;cpu${cpu}_usage.type GAUGE\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;cpu${cpu}_usage.max 100\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;cpu${cpu}_usage.warning 0:85\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;cpu${cpu}_usage.critical 0:90\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  foreach my $cpu (sort {$a-&amp;gt;{cpu}&amp;lt;=&amp;gt;$b-&amp;gt;{cpu}} @cpu) {&lt;br /&gt;
    print sprintf &amp;quot;multigraph cpu_per_core.cpu%d\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;graph_info CPU core %d\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;graph_title CPU core %d usage\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print &amp;quot;graph_scale no\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;graph_args --upper-limit 100 --lower-limit 0 --rigid\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;graph_vlabel %\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;graph_category mandarina\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_system.label system\n&amp;quot;,$cpu-&amp;gt;{cpu};    &lt;br /&gt;
    print sprintf &amp;quot;cpu%d_system.draw AREA\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_system.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_system.info CPU time spent in system state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_user.label user\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_user.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_user.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_user.info CPU time spent in user state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_nice.label nice\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_nice.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_nice.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_nice.info CPU time spent in nice state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_idle.label idle\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_idle.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_idle.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_idle.info CPU time spent in idle state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_iowait.label iowait\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_iowait.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_iowait.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_iowait.info CPU time spent in iowait state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_irq.label irq\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_irq.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_irq.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_irq.info CPU time spent in irq state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_softirq.label softirq\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_softirq.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_softirq.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_softirq.info CPU time spent in softirq state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_steal.label steal\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_steal.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_steal.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_steal.info CPU time spent in steal state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest.label guest\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest.info CPU time spent in guest state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest_nice.label guest_nice\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest_nice.draw STACK\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest_nice.type GAUGE\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
    print sprintf &amp;quot;cpu%d_guest_nice.info CPU time spent in guest_nice state\n&amp;quot;,$cpu-&amp;gt;{cpu};&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  exit 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print_values();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quelle: http://www.matija.si/system-administration/2014/04/01/a-munin-plugin-to-monitor-each-cpu-core-separately/&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
&lt;br /&gt;
Falls beim Testen folgende Fehlermeldung erscheint, fehlt das Paket &amp;quot;libjson-perl:&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/munin/plugins # munin-run cpu_per_core &lt;br /&gt;
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /etc/munin/plugins/cpu_per_core line 3.&lt;br /&gt;
BEGIN failed--compilation aborted at /etc/munin/plugins/cpu_per_core line 3.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Paket kann mit &amp;quot;apt-get install libjson-perl&amp;quot; installiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Nevakee</name></author>	</entry>

	</feed>