cancel
Showing results for 
Search instead for 
Did you mean: 

'Too many open files'

dmc
Champ on-the-rise
Champ on-the-rise
Hallo,

Alfresco läuft hier wunderbar. Seit heute spinnt es aber. Beim Bearbeiten von Word-Dokumenten, stürzt Word einfach ab und ein Zugriff auf Alfresco ist nicht mehr möglich. Nach einem Neustart des Alfresco-Servers funktioniert wieder alles für eine gewisse Zeit.

Folgende Fehlermeldung finde ich im alfresco.log:

17:23:41,718 ERROR [org.alfresco.smb.protocol] TCP-SMB Socket error :
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.ja va:384)
at java.net.ServerSocket.implAccept(ServerSocket.java :450)
at java.net.ServerSocket.accept(ServerSocket.java:421 )
at org.alfresco.filesys.smb.server.TcpipSMBSessionSoc ketHandler.run(TcpipSMBSessionSocketHandler.java:7 1)
at java.lang.Thread.run(Thread.java:595)

Hat irgendwer eine Idee? (ulimit habe ich schon auf 4096 erhöht)

Grüße,
atreju
3 REPLIES 3

dmc
Champ on-the-rise
Champ on-the-rise
Hallo atreju,

offensichtlich kommt Linux/Unix als Server-Betriebssystem zum Einsatz.

Welche Datenbank wird verwendet?
Was geben die Kommandos 'ulimit -a' und 'ulimit -aH' unter dem User zurück unter dem Alfresco läuft?

Vielleicht hilfreich: Tuning file descriptor limits on Linux

Grüsse
calvin

dmc
Champ on-the-rise
Champ on-the-rise
Mit der nachfolgender Limits Konfiguration sollte es keine Probleme mehr geben.
Folgende Aktionen als root ausführen:

1. Folgende Zeilen zu /etc/security/limits.conf hinzufügen/anpassen:
* soft nproc 2047
* hard nproc 16384
* soft nofile 2048
* hard nofile 65536

2. folgende Zeilen zu /etc/pam.d/login hinzufügen (falls nicht schon vorhanden):
session required /lib/security/pam_limits.so
session required pam_limits.so

3. Abhängig der vor eingestellten shell nachfolgende Änderungen in den Start-Skripten:
Bourne, Bash, oder Korn shell:
In /etc/profile file (bzw. für SUSE systems)/etc/profile.local folgenden Aufruf einfügen:

if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi

Für die C shell (csh oder tcsh) folgende Zeilen in /etc/csh.login (oder bei Suse)/etc/csh.login.local:

limit maxproc 16384
limit descriptors 65536

Anschliessend muss alfresco/tomcat in einer neuen Session neu gestartet werden. Zur Sicherheit die Parameter mit ulimit -a prüfen.

Viel Erfolg!

Grüsse

calvin

dmc
Champ on-the-rise
Champ on-the-rise
Danke schön! Probiere ich gleich mal aus.

Grüße,
atreju