Hi,

I have a problem with increasing memory usage of SpamAssassin on windows
(spamc/spamd). I created a stand alone test program to check if the
increasing memory is a problem of communication code or SA. The program
tests the sample-spam.txt file using a loop of 1000 times.

Result (Win2k SP4; ActiveState Perl 5.6.1): memory increasing

Next I moved the script to a linux box (change path names only). The SA
is installed without any extra options (perl MakrFile.PL, make, make
test, make install). I run the script and monitor the memory (size) with
top.

Result (Linux 2.2.14, Perl 5.6.1): memory increasing

Can someone check my script and proof the result on another
configuration please?

Thanks
Klaus

sa-test.pl
----------------------------------------------
my $PREFIX = '/usr/bin/perl';  # substituted at 'make' time
my $DEF_RULES_DIR = '/usr/bin/perl/share/spamassassin';  # substituted
at 'make' time
my $LOCAL_RULES_DIR = '/etc/mail/spamassassin';  # substituted at 'make'
time
use Mail::SpamAssassin;

my ($spamtest) = new Mail::SpamAssassin({
  dont_copy_prefs      => $dontcopy,
  rules_filename       => ($opt{'configpath'} || 0),
  local_tests_only     => ($opt{'local'} || 1),
  debug                => ($opt{'debug'} || 0),
  paranoid             => ($opt{'paranoid'} || 0),
  home_dir_for_helpers => (defined $opt{'home_dir_for_helpers'} ?
$opt{'home_dir_for_helpers'} : $orighome),
#    'rules_filename'      => 'c:/etc/spamassassin.rules',
    'userprefs_filename'  => $ENV{HOME}.'/.spamassassin.cf',
  PREFIX               => $PREFIX,
  DEF_RULES_DIR        => $DEF_RULES_DIR,
  LOCAL_RULES_DIR      => $LOCAL_RULES_DIR

  });

Mail::SpamAssassin::Util::clean_path_in_taint_mode();
$spamtest->compile_now(0);

use strict;

sub processFile
{
    my ($spamtest, $file) = @_;


    open(IN, "<$file");
    my @msglines = <IN>;
    close(IN);

    chomp @msglines;

    # test with check and NoMailAudit object
#    my $mail = Mail::SpamAssassin::NoMailAudit->new(data =>
[EMAIL PROTECTED]);
#    my ($status) = $spamtest->check($mail);
#    $status->finish();
#    $mail->finish();

    # check with plain message text
    my $msg = join("\n", @msglines);
    my ($status) = $spamtest->check_message_text($msg);
    $status->finish();

    @msglines = ();
}

my ($i) = 0;
while ($i < 1000)
{
    processFile($spamtest,
"/export/klaus/Mail-SpamAssassin-2.55/sample-spam.txt");

    $i++;
    print $i, "\n";
}
1;
----------------------------------------------



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Spamassassin-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/spamassassin-talk

Reply via email to