postfix - Too many open files in system

basstscho

Registered User
Hallo zusammen,

ich habe auf meinem vServer mit Postfix wohl ein Problem mit den zu geringen numfiles
Code:
cat /proc/user_beancounters | grep numfile
numfile                      2356                 4256                 4256                 4256                  796
beim Senden von Mails an eine Mailgruppe (mit 80 Emailadressen). Hier wirft Postfix dann immer "fatal: socket: Too many open files in system" in die Logs. Ich habe in der main.cf bereits durch
Code:
default_process_limit = 8
verscht das ganze etwas zu begrenzen - hat leider nichts gebracht. Wie kann ich den Postfix insgesamt drosseln, dass er solche Mailmengen "in aller Ruhe" ausliefert?
Gefunden habe ich im Internet Einstellungen wie:
Code:
smtp_destination_concurrency_limit
oder
Code:
connection_count_limit

Welche sind hierfür sinnvoll anzuwenden? Beim _destination_concurrency_limit ist mir noch nicht so klar, was ich nun vorweg schreiben muss - smtp?

Ich hoffe ihr könnt mir helfen den Postfix zu bremsen,
Danke,
Grüße Johannes
 
Hi,
Du musst in der /etc/postfix/master.cf folgende Zeilen wie gewünscht ändern:

Code:
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       X       smtpd
smtp      unix  -       -       -       -       X       smtp

Die mit X gekennzeichneten Stellen sagen aus, wie viele Prozesse maximal für Mailversand- und Empfang verwendet werden. Stelle doch mal beides auf ne niedrige Zahl (Standard ist 100 in Postfix probier mal 10-20) aus, dann sollte es erstmal keine Probleme mehr geben. Der Mailversand dauert halt dann länger.

Nicht vergessen: Postfix neu starten.

viele Grüße
Basti
 
Hallo Basti,

vielen Dank für deine Antwort. Ich habe noch zusätzlich weitere Parameter konfiguriert und somit läuft mein Postfix seither ohne Probleme - keinerlei Fehlermeldungen mehr - er wurde aber auch ganz schön eingeschränkt. Allerdings läuft er wohl nur in dieser Minimalkonfiguration auf dem vServer:

master.cf
Code:
local     unix  -       n       n       -       2       local
smtp      unix  -       -       n       -       2       smtp

main.cf
Code:
default_process_limit = 2
default_destination_concurrency_limit = 1
local_destination_concurrency_limit = 1

Zum Glück trudeln auf dem Server nur ca alle 15-25sec ne Mail ein...

Ich hoffe damit ist das Postfix-Problem bei mir behoben - warten wir es ab ;)

Grüße Johannes

PS: Mit der obigen Konfiguration bekomme ich auch keine "Error queue file write error"-mails mehr. Der vServer war mit dem Postfix wohl einfach gnadenlos überfordert - mit Qmail war das alles kein Problem - schon verrückt!
 
Vielleicht handhabt Postfix die openfiles irgendwie anders als QMail. Aber keine Sorge, auch wenn Du nur zwei Mails gleichzeitig annimmst, die Mails werden auf dem Mailserver "vor Dir" ja in der Queue gehalten, bis Du sie annehmen kannst.

Schwierig wirds nur bei mehr Domains, wenn z.B. schon 30-45 Spammails in der Minute reinwollen :) Hier würd ich Dir noch ne Lösung wie policyd-weight oder postgrey empfehlen.

viele Grüße
Basti
 
Back
Top