GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erhöhen Sie das Limit für die Anzahl der geöffneten Dateien in Linux

Unter Linux können Sie die maximale Anzahl geöffneter Dateien ändern. Sie können diese Nummer ändern, indem Sie ulimit verwenden Befehl. Es gibt Ihnen die Möglichkeit, die Ressourcen zu kontrollieren, die für die Shell oder den von ihr gestarteten Prozess verfügbar sind.

Lesen Sie auch: Legen Sie Limits für laufende Linux-Prozesse auf Benutzerebene fest

In diesem kurzen Tutorial zeigen wir Ihnen, wie Sie Ihr aktuelles Limit an geöffneten Dateien und Dateibeschreibungen überprüfen können, aber dazu benötigen Sie Root-Zugriff auf Ihr System.

Lassen Sie uns zuerst sehen, wie wir die maximale Anzahl geöffneter Dateideskriptoren auf Ihrem Linux-System herausfinden können.

Limit für geöffnete Linux-Dateien finden

Der Wert wird gespeichert in:

# cat /proc/sys/fs/file-max

818354

Die angezeigte Zahl gibt die Anzahl der Dateien an, die ein Benutzer pro Anmeldesitzung geöffnet haben kann. Das Ergebnis kann je nach System unterschiedlich sein.

Zum Beispiel auf einem CentOS Server von mir wurde das Limit auf 818354 gesetzt , während auf Ubuntu Server, den ich zu Hause betreibe, wurde das Standardlimit auf 176772 gesetzt .

Wenn Sie die harten und weichen Grenzen sehen möchten, können Sie die folgenden Befehle verwenden:

Hard-Limit unter Linux prüfen

# ulimit -Hn

4096

Überprüfen Sie Soft Limits in Linux

# ulimit -Sn

1024

Um die harten und weichen Werte für verschiedene Benutzer zu sehen, können Sie einfach mit “su” den Benutzer wechseln an den Benutzer, dessen Limits Sie überprüfen möchten.

Zum Beispiel:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

So überprüfen Sie die systemweiten Dateideskriptorgrenzen in Linux

Wenn Sie einen Server betreiben, erfordern einige Ihrer Anwendungen möglicherweise höhere Grenzwerte für geöffnete Dateideskriptoren. Ein gutes Beispiel dafür sind MySQL/MariaDB Dienste oder Apache Webserver.

Sie können das Limit der geöffneten Dateien unter Linux erhöhen, indem Sie die Kernel-Direktive fs.file-max bearbeiten . Zu diesem Zweck können Sie sysctl verwenden Dienstprogramm.

Sysctl wird verwendet, um Kernelparameter zur Laufzeit zu konfigurieren.

Zum Beispiel, um das Limit für offene Dateien auf 500000 zu erhöhen , können Sie als root folgenden Befehl verwenden:

# sysctl -w fs.file-max=500000

Sie können den aktuellen Wert für geöffnete Dateien mit dem folgenden Befehl überprüfen:

$ cat /proc/sys/fs/file-max

Mit dem obigen Befehl bleiben die von Ihnen vorgenommenen Änderungen nur bis zum nächsten Neustart aktiv. Wenn Sie sie dauerhaft anwenden möchten, müssen Sie die folgende Datei bearbeiten:

# vi /etc/sysctl.conf

Fügen Sie die folgende Zeile hinzu:

fs.file-max=500000

Natürlich können Sie die Anzahl nach Ihren Wünschen ändern. Um die Änderungen erneut zu überprüfen, verwenden Sie:

# cat /proc/sys/fs/file-max

Benutzer müssen sich abmelden und erneut anmelden, damit die Änderungen wirksam werden. Wenn Sie das Limit sofort anwenden möchten, können Sie den folgenden Befehl verwenden:

# sysctl -p

Grenzwerte für das Öffnen von Dateien auf Benutzerebene in Linux festlegen

Die obigen Beispiele haben gezeigt, wie globale Limits festgelegt werden, aber Sie möchten vielleicht Limits pro Benutzer anwenden. Zu diesem Zweck müssen Sie als Benutzer root die folgende Datei bearbeiten:

# vi /etc/security/limits.conf

Wenn Sie ein Linux-Administrator sind, schlage ich vor, dass Sie sich mit dieser Datei vertraut machen und wissen, was Sie damit tun können. Lesen Sie alle Kommentare darin, da es eine große Flexibilität in Bezug auf die Verwaltung von Systemressourcen bietet, indem Benutzer/Gruppen auf verschiedenen Ebenen eingeschränkt werden.

Die Zeilen, die Sie hinzufügen sollten, nehmen die folgenden Parameter an:

<domain>        <type>  <item>  <value>

Hier ist ein Beispiel für das Festlegen von Soft- und Hard-Limits für den Benutzer marin :

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Abschließende Gedanken

Dieser kurze Artikel hat Ihnen ein einfaches Beispiel dafür gezeigt, wie Sie globale und Benutzerlevel-Limits für die maximale Anzahl geöffneter Dateien überprüfen und konfigurieren können.

Obwohl wir nur an der Oberfläche gekratzt haben, empfehle ich Ihnen dringend, einen genaueren Blick auf /etc/sysctl.conf zu werfen und zu lesen und /etc/security/limits.conf und lernen, wie man sie benutzt. Sie werden Ihnen eines Tages eine große Hilfe sein.


Linux
  1. So erhöhen Sie die Inode-Nummer der Festplatte in Linux

  2. So benennen Sie Dateien unter Linux um

  3. So öffnen Sie Appimage unter Linux

  4. So komprimieren Sie mehrere Dateien unter Linux

  5. Linux – Wie kann man Maxsymlinks erhöhen?

So ändern Sie das Limit für offene Dateien in Linux

So kopieren Sie eine große Anzahl von Dateien unter Linux

So pingen Sie eine Portnummer in Linux an

So öffnen Sie eine PDF-Datei im Linux-Terminal

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux

So komprimieren Sie eine Datei unter Linux