SuSE eMail Server II, SuSE eMail Server III
Dienste des SuSE eMail Servers sind zeitweise oder ständig nicht
erreichbar und in /var/log/messages
befinden sich Einträge mit
der Fehlerbeschreibung "too many open files in system".
Betroffen ist meistens imapd.
Für jede Verbindung zu einem der Dienste (IMAP, SMTP, LDAP) öffnet der jeweilige Dæmon mehrere Dateien und Sockets. Diese werden dann über sogenannte Filedeskriptoren angesprochen. Die Anzahl der Deskriptoren wird durch den Linux Kernel begrenzt und erlaubt normalerweise bis zu 8192 geöffnete Dateien und Sockets im System.
Für Systeme mit vielen Benutzern, die gleichzeitig auf die jeweiligen Dienste zugreifen, ist dieser Wert jedoch etwas niedrig bemessen.
Setzen Sie die maximale Anzahl der Deskriptoren im Cache auf höhere Werte, zum Beispiel:
echo "65536" >/proc/sys/fs/file-max
Beim SuSE eMail Server II gibt es noch einen weiteren wichtigen Parameter. Die maximale Anzahl Inodes im Cache sollte dort ebenfalls erhöht werden, zum Beispiel:
echo "131072" >/proc/sys/fs/inode-max
(Dieser Parameter existiert beim Linux Kernel 2.4, der beim SuSE eMail Server III zum Einsatz kommt, nicht mehr.)
Für beide Werte gilt: so hoch wie nötig, so niedrig wie möglich, aber mit etwas Luft für "Stoßzeiten". Zu hohe Werte benötigen zuviel Speicher, bei zu niedrigen Werten wird das Problem nach einiger Zeit (wenn auch seltener) erneut auftreten. Der Wert inode-max sollte dabei größer als file-max sein.
Damit die Einstellungen auch nach dem nächsten Booten zur
Verfügung stehen, tragen Sie obige Kommandos in das
Start-Skript /etc/init.d/boot.local
(SuSE Linux
eMail Server II: /sbin/init.d/boot.local
) ein.
Für Schäden, die durch das Befolgen dieser Hilfsstellung entstehen können, kann weder Support noch sonstiger Schadensersatz eingefordert werden.