[Perl] Monitoreando consumo de memoria

Víctor Manuel Jáquez Leal ceyusa@coral.com.mx
04 Sep 2002 17:21:23 -0500


¿Qué tal esto? 

use strict;

my ($name, $size, $t);
my @stat;

opendir PROCFS, '/proc' || die "PROC Filesystem not supported: $!";
my @procs = grep { /^\d/ && -d "/proc/$_" } readdir(PROCFS);
closedir PROCFS;

foreach my $proc (@procs) {
    open STAT, "/proc/$proc/status";
    @stat = <STAT>;
    close STAT;
    foreach (@stat) {
	chop $_;
	if (/Name/) {
            s/Name:\s*//;
            $name = $_;
	}
        if (/Vm/) {
            s/.+:\s*//;
            $size += $_;
	}
    }
    print "$name\t$size kb\n";
}

Pero obviamente esto es muy muy muy lento...

Tal vez te guste más esto:
http://search.cpan.org/author/DURIST/Proc-ProcessTable-0.35/ProcessTable.pm


El mié, 04-09-2002 a las 16:39, Valentin Ortiz Ferretiz escribió:
> Oye, es muy buena solución, gracias!.
> 
> alguna idea de como obtener el consumo de memoria de un proceso en
> específico?
> 
> 
> 
> El mié, 04-09-2002 a las 16:39, Víctor Manuel Jáquez Leal escribi=
ó:
> > Package My::Mem;
> > 
> > %EXPORT(check_mem);
> > 
> > sub check_mem {
> > 	open M, "/proc/meminfo";
> > 	while (<M>) {
> > 		print $_;
> > 	}
> > 	close M;
> > }
> > 
> > ó tal vez en search.cpan.org
> > 
> > Vale
> > Ceyusa
> > 
> > El mié, 04-09-2002 a las 16:24, Valentin Ortiz Ferretiz escribió:
> > > Saludos a todos!
> > > 
> > > Como lo digo en el subject, necesito hacer un programa en perl que es=
té
> > > monitoreando el consumo de memoria RAM ya sea de todo el sistema o de=
 un
> > > proceso en específico. ¿Conocen algún módulo que me puede ayu=
dar con
> > > eso?
> > > 
> > > Gracias de Antemano!
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > Perl mailing list
> > > Perl@tlali.iztacala.unam.mx
> > > http://tlali.iztacala.unam.mx/mailman/listinfo/perl
> > > 
> > 
> > 
> 
>