+++ /dev/null
-#!/usr/bin/perl
-
-use strict;
-
-my @cpu_stat_t0 = proc_stat();
-sleep 1;
-my @cpu_stat_t1 = proc_stat();
-my $total = 0;
-for (my $cpu_i = 0; $cpu_i < (scalar @cpu_stat_t0); $cpu_i++) {
- my @stat_t0 = split /\s+/, $cpu_stat_t0[$cpu_i];
- my @stat_t1 = split /\s+/, $cpu_stat_t1[$cpu_i];
- my ($t0_idle, $t1_idle) = ($stat_t0[3], $stat_t1[3]);
- my ($t0_total, $t1_total) = (0, 0);
- $t0_total += $_ foreach @stat_t0;
- $t1_total += $_ foreach @stat_t1;
-
- my $load = ($t1_total - $t0_total == 0) ? 100:
- int((100 * (($t1_total - $t0_total) - ($t1_idle - $t0_idle))/($t1_total - $t0_total)) + 0.5);
- print " +" unless ($cpu_i == 0);
- printf "% 5.1f%% ", $load;
- $total += $load;
-}
-printf " = % 6.1f%%\n", $total;
-
-sub proc_stat() {
- return grep {s/^cpu\d+\s//} read_file('/proc/stat');
-}
-
-sub read_file($) {
- my ($file) = @_;
- open FILE, "<$file";
- my @content = <FILE>;
- close FILE;
- return @content;
-}
-