Keep standard 30MHzDF and adds the lite configuration
[debian6500.git] / simple-cdd / additional_scripts / cpumon_lite
1 #!/usr/bin/perl
2
3 open PROC_STAT, "</proc/stat";
4 my @proc_stat=<PROC_STAT>;
5 close PROC_STAT;
6 my @cpu_stat_t0 = grep {s/^cpu\d+\s//} (@proc_stat);
7 sleep 1;
8 open PROC_STAT, "</proc/stat";
9 my @proc_stat=<PROC_STAT>;
10 close PROC_STAT;
11 my @cpu_stat_t1 = grep {s/^cpu\d+\s//} (@proc_stat);
12
13 my $total = 0;
14 for (my $cpu_i=0; $cpu_i<(scalar @cpu_stat_t0); $cpu_i++) {
15 my @stat_t0 = split /\s+/, $cpu_stat_t0[$cpu_i];
16 my @stat_t1 = split /\s+/, $cpu_stat_t1[$cpu_i];
17 my ($t0_idle, $t1_idle) = ($stat_t0[3], $stat_t1[3]);
18 my ($t0_total, $t1_total) = (0, 0);
19 $t0_total += $_ foreach @stat_t0;
20 $t1_total += $_ foreach @stat_t1;
21
22 my $load = ($t1_total - $t0_total == 0) ? 100: int((100 * (($t1_total - $t0_total) - ($t1_idle - $t0_idle))/($t1_total - $t0_total)) + 0.5);
23 print " +" unless ($cpu_i == 0);
24 printf "% 5.1f%% ", $load;
25 $total += $load;
26 }
27 printf " = % 6.1f%%\n", $total;