Re: Prozess dauerhaft beobachten

From: Tommy K <tommy(at)berlin.homeunix.com>
Date: Thu, 8 Jul 2004 19:24:29 +0200

Hallo,

mich hat mal genau das selbe interessiert. Da hab ich mir ein perl
Script geschrieben. Vielleicht hilft es Dir ja auch weiter.

Du muesstest die Variablen '$ps' und '$prog' aendern!
(Zeile vier und fuenf!)

Grusz Tommy K.

-------------
cat ps.pl
-------------

#!/usr/bin/perl -w
use strict;

my $prog = "ps";
my $ps = "ps -alU tommy";

my @lines = `$ps`;
my @processes = ();
my $cmd;

my $first_line = shift @lines;
$first_line =~ s/(^\s+)|(\s+$)//;
my @headers = split /\s+/, $first_line;

#print join('-', @headers) . "\n";

foreach my $line (@lines) {
  $line =~ s/(^\s+)|(\s+$)//;
  my @fields = split(/\s+/, $line);
  my $i;
  my %hash;
  for ($i = 0; $i < scalar(@headers); $i++) {
        my $key = $headers[$i];
        $hash{$key} = $fields[$i];
  }
  push @processes, \%hash;
}

my $num_procs = scalar(@processes);
my $i;
my %sizes;
my %usages;
for ($i = 0; $i < $num_procs; $i++) {
  my $h = $processes[$i];
  my $cmd = $h->{COMMAND};
  my $usage = $h->{CPU};
  my $size = $h->{VSZ};
  if ($cmd =~ /^$prog/) {
    $sizes{$cmd} += $size;
    $usages{$cmd} += $usage;
  }
}

print localtime(time) . "";
foreach my $cmd (keys %sizes) {
  printf "\t%s %.2f MB \tCPU %3.0f", $cmd, $sizes{$cmd} / 1024,
  $usages{$cmd};
}
printf ("\n");

-- Hoffe Du kannst perl! ;)

On Thu, Jul 08, 2004 at 03:21:07PM +0200, Henning Nelihsen wrote:
> Hallo,
>
> ich hab den Port bsdsar - System Activity Reporter installiert um einen
> ?berblick ?ber die Auslastung meines Rechners zu haben.
> Dazu loggt bsdsar dazu 5 Minuten (hier) alle m?glichen Werte zu
> cpu,diskusage, usw.
>
> Aber eigentlich m?chte ich genau einen Prozess dauerhaft beobachten, um
> die Spitzenwerte cpu/mem zu ermitteln.
> Hat dazu jemand einen Tipp?
>
> Gruss, Henning
>
>
> To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
> with "unsubscribe de-bsd-questions" in the body of the message

-- 
Das Büro am Draht GmbH | Blücherstraße 22 | D-10961 Berlin
http://www.dasburo.com
Key fingerprint = BFED 7E4C 8B67 64C8 B210  89D1 5678 1A02 7354 DFB5

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 08 Jul 2004 - 19:24:51 CEST

search this site