SpamAssassin frisst Memory ohne Ende
SpamAssassin frisst Memory ohne Ende
Habe seit einiger Zeit SA in der Version 3.0.1 am Laufen. In der Standard - Konfiguration startet der Dämon 5 child - Prozesse. So weit so gut, mein Problem ist nur, dass JEDER dieser SA - Prozessa knapp 80 MB Speichehr belegt, was früher oder später die Maschine zum swappen zwingt. Damit ist natürlich die Performance im Eimer. Ich habe mir jetzt beholfen, indem ich die Anzahl der childs auf 1 reduziert habe. Jetzt belegen die SA - Prozesse (master + 1 child) wenigstens nur noch knapp 160 MB. Ich kapiere nicht, woher dieser immense Speicherverbrauch herkommen soll. Hat hier vielleicht jemand Erfahrungen?
Re: SpamAssassin frisst Memory ohne Ende
Das habe ich noch nie gehört... aber SA frisst schon ziemlich Speicher, wenn es gefordert ist - aber ständig 80MB, woher weisst du das?
Kleines Beispiel:
Ich hatte anfangs einige kleine Mailinglisten über Mailman, die allesamt in der Standardkonfig über SA gingen. Bei einer Mail an die Liste gab's dann jedesmal nen Crash, weil das zuviel Last war. Konsequenz: Jetzt werden die ausgehenden Mails nicht mehr SA-gefiltert (sinnfrei) und es läuft ;)
Kleines Beispiel:
Ich hatte anfangs einige kleine Mailinglisten über Mailman, die allesamt in der Standardkonfig über SA gingen. Bei einer Mail an die Liste gab's dann jedesmal nen Crash, weil das zuviel Last war. Konsequenz: Jetzt werden die ausgehenden Mails nicht mehr SA-gefiltert (sinnfrei) und es läuft ;)
Re: SpamAssassin frisst Memory ohne Ende
Na ja, lässt sich ziemlich klar nachvollziehen. top und mit <SHIFT>+<M> die Prozesse nach Speicherverbrauch aufgelistet. Im anderem Fenster den spamd neu gestartet. Dann kommt zuerst der masterprozess, der braucht zunächst knapp über 90 MB, dann kommt der childprozess mit knapp über 80 MB. nach paar Minuten liegen beide Prozesse so ungefähr bei 82 MB, unabhängig, ob mails gescannt werden oder nicht. Das zwingt meine alte Kiste mit 250 MB leider mächtig in die Knie. Bin zur Zeit schwer am Ã?berlegen, ob ich zurück auf SA 2.6.3 soll. 
Re: SpamAssassin frisst Memory ohne Ende
Code: Select all
dominik@trinity:~$ spamassassin -V
SpamAssassin version 3.0.0
running on Perl version 5.8.4
Code: Select all
top - 19:54:40 up 214 days, 3:50, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% user, 0.7% system, 0.0% nice, 99.0% idle
Mem: 255272k total, 250812k used, 4460k free, 20840k buffers
Swap: 771112k total, 141808k used, 629304k free, 78788k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9024 root 9 0 31592 24m 23m S 0.0 9.7 1:14.84 spamd
8326 root 9 0 30716 23m 23m S 0.0 9.5 1:19.86 spamd
7615 root 9 0 30636 23m 22m S 0.0 9.5 1:21.64 spamd
8132 root 9 0 30080 23m 23m S 0.0 9.4 1:14.64 spamd
7607 root 9 0 30556 23m 7576 S 0.0 9.3 1:23.24 spamd
951 clamav 9 0 6044 5836 2372 S 0.0 2.3 0:09.75 clamd
1114 clamav 8 0 6044 5836 2372 S 0.0 2.3 0:00.01 clamd
Re: SpamAssassin frisst Memory ohne Ende
Code: Select all
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
16782 root 9 0 98.3M 76M 23264 S 0.0 31.4 0:02 spamd
16781 root 9 0 96708 51M 39100 S 0.0 21.0 0:27 spamd
4089 wwwrun 9 0 14196 12M 5020 S 0.0 5.1 0:04 httpd
839 wwwrun 9 0 14424 12M 8928 S 0.0 5.1 0:09 httpd
:evil:
Auch wenn ich die Bayes-DB platt mache, bringt mir das absolut gar nichts. Ansonsten habe ich gar nix besonderes am Laufen, vielleicht noch mal meine Konfig:
Code: Select all
allow_user_rules 1
user_scores_sql_custom_query SELECT preference, value FROM spampref WHERE username = _USERNAME_ ORDER BY prefid
report_safe 0
use_bayes 1
bayes_auto_learn 1
bayes_auto_learn_threshold_nonspam 2.0
bayes_auto_learn_threshold_spam 12.0
bayes_path /etc/mail/spamassassin/bayes
bayes_file_mode 0777
score BAYES_00 -2.0
score BAYES_05 -1.5
score BAYES_20 -1.0
score BAYES_40 -0.5
score BAYES_50 0.0
score BAYES_60 1.0
score BAYES_80 2.0
score BAYES_95 3.0
score BAYES_99 4.0
use_auto_whitelist 0
auto_whitelist_path /etc/mail/spamassassin/auto_whitelist
auto_whitelist_file_mode 0777
user_scores_dsn DBI:mysql:confixx:localhost;mysql_socket=/var/lib/mysql/mysql.sock
user_scores_sql_username confixx
user_scores_sql_password XXXXXXXX
user_scores_sql_table spamprefNa ja, und in der Datenbank stehen nur Blacklist - und Whitelisteinträge, das ist ja auch nix Besonderes. Bin echt am Verzweilfeln mittlerweile...
Re: SpamAssassin frisst Memory ohne Ende
Bewahrheitet sich immer wieder: wenn man später nicht mehr weiss, was man früher gemacht hat, sollte man vielleicht doch lieber die Finger von einem Rootserver lassen. Hatte in der alten Version einige configs nach /usr/share/spamassassin verlinkt, und angenommen, dass alles, was in dem Verzeichnis steht, sowieso beim Update platt gemacht wird. Der überschreibt beim Update aber nur die alten cf - Files, die Links lässt er unangetastet. Hatte da einige Tests drin (ich tippe auf bigevil.cf). Nachdem ich die platt gemacht habe, läuft der SA auch wieder mit vernünftigen Werten.
Danke für die Hilfe, man ist in erster Linie immer geneigt, den Fehler beim Programm zu suchen...
Danke für die Hilfe, man ist in erster Linie immer geneigt, den Fehler beim Programm zu suchen...
