Problem

Die Protokolldateien enthalten die Fehlermeldung "Zu viele Dateien" und CRX reagiert nicht.

Lösung

Erhöhen Sie die maximale Anzahl der geöffneten Dateien.

Bestimmte CRX-Operationen erfordern, dass das System zum Öffnen von mehr Dateien konfiguriert ist. Beispielsweise kann die Neuindexierung des lucene-Indexes erfordern, dass Sie die Einstellungen der maximalen Anzahl geöffneter Dateien erhöhen.

Erhöhen Sie die Begrenzung der geöffneten Dateien für die CRX Shell-Sitzung.

Überprüfen Sie die Benutzerbegrenzung der maximalen Anzahl geöffneter Dateien, und führen Sie dann folgendes als der Benutzer aus, auf dem dieser CRX-Prozess läuft:

ulimit -Sn ulimit -Hn

Beim Verwenden des Standard-Startskripts von CRX/CQ folgende Schritte ausführen, um das Limit zu erhöhen:

  1. crx-quickstart/server/start zum Bearbeiten öffnen.
  2. Die Variable CQ_MAX_OPEN_FILES am Anfang des Skripts hinzufügen:

    CQ_MAX_OPEN_FILES=8192 export CQ_MAX_OPEN_FILES

Wenn Sie den Fehler "-bash: ulimit: open files: cannot modify limit: Operation not permitted" beim Starten von CRX sehen, funktioniert die obenstehende Konfiguration nicht.

Stattdessen muss das Limit in /etc/security/limits.conf erhöht werden. Nachstehend finden Sie weitere Details darüber, wie das Benutzerlimit neu konfiguriert werden kann.

Wenn Sie einen Anwendungsserver von Drittanbietern wie JBoss oder WebSphere verwenden, befolgen Sie die folgenden Abschnitten und überprüfen Sie die Dokumentation des Anbieters.

Hinweis:

Wenn keine der Konfigurationen in diesem Artikel das Problem löst, sehen Sie mit dem Kommando lsof -p nach, welche Dateien geöffnet sind (-p ist die Prozess-ID des problematischen Prozesses). Es könnte sein, dass Ihre Applikation Datei-Handles offen lässt. Wenn Sie sehen, dass die Handles vorwiegend von CRX und nicht von Ihrer Anwendung gehalten werden, wenden Sie sich an den Support.

Den Benutzergrenzwert erhöhen

Um die maximale Anzahl geöffneter Dateien für Nicht-Root-Benutzer zu ändern, bearbeiten Sie die Datei „/etc/security/limits.conf“. Sie können für jeden Benutzer einen Grenzwert festlegen:

crx_process_username soft nofile 8092

crx_process_username hard nofile 20000

Hinweis:

Diese Konfiguration tritt erst in Kraft, wenn sich der Benutzer das nächste mal anmeldet.

Den Systemgrenzwert erhöhen

Gelegentlich ist der Benutzergrenzwert hoch genug, aber das System selbst hat seine maximale Anzahl von Dateien erreicht. Führen Sie Folgendes als su- / root-Benutzer aus:

  1. Überprüfen Sie die Einstellung für die maximale Anzahl offener Dateien auf dem Betriebssystem (wenn sie unter 20.000 liegt, ist es sinnvoll, diesen Wert zu erhöhen).

    cat /proc/sys/fs/file-max

  2. Fügen Sie diese Zeile zu /etc/sysctl.conf hinzu, um den Wert für die maximale Menge geöffneter Dateien des Systems zu erhöhen:

    fs.file-max = 300000

  3. Führen Sie diesen Befehl aus:

    sysctl -p

  4. Stellen Sie sicher, dass der neue Wert angezeigt wird, wenn Sie diesen Befehl ausführen:

    cat /proc/sys/fs/file-max

Hinweis:

Diese Konfiguration tritt erst in Kraft, wenn sich der Benutzer das nächste mal anmeldet.

Weitere Informationen

Dieser Fehler tritt auf, wenn das System oder der Benutzer seine maximale Anzahl an Dateiverwendungen verwendet.

Herunterladen

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie