vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity.
the output is like this
procs ------memory------- --swap-- ---io--- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 9999 9999 9999 0 0 99 99 9999 999 9 9 99 9
Let's see...
Your target is the 13th number in the third line, so you need to discard lines 1 and 2, and then print this element
my @stat = `vmstat`;
foreach $line(@stat){
if ($line =~ /^procs/){next}
if ($line =~ /us/){next}
else {chomp $line;
my @fo = split /[[:blank:]]+/, $line;
print "Message: CPU user time: $fo[13]\n";}
}
|