Zunächst einmal ist dies nur eine Warnung. Unter MS Windows muss die Anzahl der Dateihandler auf dem Client und dem Server identisch sein. Andernfalls wird die Meldung "Zu viele Dateien geöffnet" angezeigt, wenn Sie beispielsweise Dateien über das Netzwerk kopieren. Neuere Samba-Versionen kümmern sich selbst darum.
Wenn Sie diese Warnung jedoch entfernen möchten, können Sie dies tun, indem Sie Ihre lokalen Dateilimits ändern. Es ist immer nützlich, lokale (Benutzer- oder Sitzungs-) Grenzwerte und globale (systemweite) Grenzwerte zu unterscheiden. Überprüfen Sie Ihre globalen Grenzen mit
cat /proc/sys/fs/file-max
Die Chancen stehen gut, dass Ihre globalen Grenzen Ihre lokalen Grenzen weit überschreiten. Ich denke, das typische GNU / Linux-Limit liegt im Bereich von 100.000, ich habe lange nicht mehr nachgesehen. Sie können diesen Wert vorübergehend ändern, indem Sie ausführen
sysctl -w fs.file-max=n
oder dauerhaft durch Bearbeiten /etc/sysctl.conf
und Ausführen sysctl -p
.
Um Ihre lokalen Grenzwerte zu überprüfen, wechseln Sie zum betreffenden Benutzer, z. B. Samba, und führen Sie ihn aus
ulimit -Hn
ulimit -Sn
Dies zeigt Ihnen harte und weiche Grenzen für die lokale Sitzung. Das harte Limit wird vom System erzwungen, während das weiche Limit von der lokalen Sitzung erzwungen wird. Sie können das lokale Soft-Limit bei Bedarf bis zum globalen Hard-Limit erhöhen.
Sie können die Grenzwerte vorübergehend ändern, indem Sie ausführen
ulimit -Hn n
ulimit -Sn m
oder Sie können Benutzerlimits über /etc/security/limits.conf
festlegen und sogar angeben, für welche Benutzer welche Limits gelten, z
samba soft nofile 16384
samba hard nofile 32768
Wie immer bieten die Manpages beider Dateien und Befehle viel mehr Einblick. Ich hoffe, das hilft.
Das Limit wird aus /etc/security/limits.conf übernommen.
Sie zeigen Ihr tatsächliches Limit mit ulimit -n
Sie können es ändern, indem Sie die Zeile bearbeiten (oder hinzufügen)
und laden Sie Ihren env-Parameter neu (oder beenden Sie die Shell und geben Sie die Shell erneut ein).
quelle
Ein Tippfehler in der
/etc/samba/smb.conf
Datei kann diese Art von Fehler erzeugen. Ich folgte diesem Link und überprüfte meinen erneut, um herauszufinden, dass mein Problem ein Tippfehler war: "Ja" anstelle von "Ja".quelle
Es ist einfach, aber ich glaube, dass so viele Leute Zeit mit dieser Frage verschwenden (wie ich, haha).
Wir müssen das Limit des Parameters NOFILE in "/etc/security/limits.conf" oder in einer anderen alternativen Datei wie "/etc/security/limits.d/limit-file.conf" so konfigurieren:
Das Problem ist, dass diese Konfiguration nicht für die aktuelle Sitzung gilt. Wir müssen beenden und uns anmelden, um die Änderungen zu übernehmen. Daher schlagen unsere Tests mit TESPARM jemals fehl.
Wenn Sie die Sitzung nicht neu starten möchten, wenden Sie diesen Befehl an und lösen Sie das folgende Problem:
Hoffe das hilft!
quelle