Your message dated Thu, 18 Sep 2008 12:17:42 +0200
with message-id <[EMAIL PROTECTED]>
has caused the report #499349,
regarding librrds-perl: RRDs takes too much memory
to be marked as having been forwarded to the upstream software
author(s) [EMAIL PROTECTED]
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
499349: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499349
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
tags 499349 + upstream
thanks
Hi,
(This is a follow-up to Debian bug #499349 [1]. Please keep
[EMAIL PROTECTED] Cc'ed when replying.)
[1] http://bugs.debian.org/499349
On Thu, Sep 18, 2008 at 12:46:00AM +0200, Vincent Lefevre wrote:
> Perl scripts using RRDs and running continuously take too much memory:
> e.g. several dozen of MBs. For instance, after 30 hours:
>
> PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
> 2651 lefevre 20 0 117M 80588 4548 S 0.0 31.6 2h48:00 perl
> /home/lefevre
>
> This makes the machine very slow, almost unusable (it is an old
> machine with not much memory), with a load average that can go
> up to 7, in particular because I have several of such scripts.
> I've attached the one corresponding to the above line.
>
> I didn't have such problems in the past.
>
> Since the used memory increases, I suspect a new memory leak.
I'm not yet into the RRDs code, so I'd really appreciate if someone else
on rrd-developers could have a look at that.
TIA,
Sebastian
--
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/
Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin
#!/usr/bin/env perl
use strict;
use Filesys::DiskSpace;
use RRDs;
my $RCSID = '$Id: disk-update 2770 2004-03-17 22:39:32Z lefevre $';
my ($proc) = $RCSID =~ /^.Id: (\S+) / or die;
@ARGV or die "Usage: $proc <rrdfile> [ <webdir> ]\n";
my $file = shift;
-f $file or die "$proc: RRDtool file isn't a plain file\n";
-r $file or die "$proc: RRDtool file isn't readable\n";
-w $file or die "$proc: RRDtool file isn't writable\n";
my $wdir = shift;
if (defined $wdir)
{ -d $wdir or die "$proc: $wdir isn't a directory\n"; }
my %t = (
'day' => 1,
'week' => 6,
'month' => 24,
'year' => 288);
for(;;)
{
my $time = time;
my $root = (df '/')[2];
my $home = (df '/home')[2];
time - $time < 3
and RRDs::update ($file, "$time:$root:$home");
&rrdgraph('root', '/dev/hda4');
&rrdgraph('home', '/dev/hda5');
sleep 60;
}
sub rrdgraph
{
defined $wdir or return;
my ($name,$fs) = @_;
foreach (qw/day week month year/)
{
RRDs::graph ("$wdir/$name-$_.png", '-a', 'PNG',
'-h', 200, '-v', $fs, '-b', 1024,
'--start', -120000*$t{$_},
"DEF:kavg=$file:$name:AVERAGE", "CDEF:avg=kavg,1024,*",
"DEF:kmax=$file:$name:MAX", "CDEF:max=kmax,1024,*",
"AREA:avg#00ff00", "LINE1:max#ff0000");
}
}
signature.asc
Description: Digital signature
--- End Message ---