it-swarm.com.de

Open File Limit kann nicht über 4096 erhöht werden (Ubuntu)

Ich bin auf Ubuntu 17.04. Beim Versuch, das Limit für offene Dateien zu erhöhen, funktioniert keine der Anweisungen, die ich online gefunden habe. Ich kann auf 4096 steigen, aber ich kann nicht darüber hinausgehen.

$ ulimit -n
1024
$ ulimit -n 4096
$ ulimit -n
4096

Das funktioniert. Das tut nicht:

$ ulimit -n 4097
bash: ulimit: open files: cannot modify limit: Operation not permitted

Es scheint an der harten Grenze zu liegen:

$ ulimit -Hn
4096

Ich habe versucht, diese Zeilen zu /etc/security/limits.conf hinzuzufügen:

*                hard    nofile          65535
*                soft    nofile          65535
root             soft    nofile          65535
root             hard    nofile          65535

Diese Zeile wurde auch zu /etc/pam.d/common-session und /etc/pam.d/common-session-noninteractive hinzugefügt:

session required pam_limits.so

Seitdem habe ich meinen Computer neu gestartet. Änderungen an der limits.conf scheinen nichts zu bewirken. Das harte Limit liegt immer noch bei 4096 und hindert mich daran, noch weiter zu steigen. Wie erhöhe ich mein Limit für offene Dateien?


Hier sind einige zusätzliche Konfigurationsinformationen:

$ cat /proc/sys/fs/file-max 
1624668
29
mkasberg

OK, ich habe es endlich herausgefunden. Die von mir in /etc/security/limits.conf festgelegten Grenzwerte wurden angewendet, jedoch nicht für die grafische Anmeldung. Dies kann folgendermaßen in einem Terminalfenster überprüft werden:

$ ulimit -n
4096
$ su mkasberg
Password:
$ ulimit -n
65535

Weitere Nachforschungen führten mich zu diesem Fehlerbericht , der mich in die richtige Richtung wies. Um das Limit zu ändern, das von der Login-Shell verwendet wird, müssen wir /etc/systemd/user.conf die folgende Zeile hinzufügen:

DefaultLimitNOFILE=65535

Diese Änderung funktioniert, wirkt sich jedoch nur auf das Soft-Limit aus. (Damit wir immer noch eine Obergrenze von 4096 haben.) Um auch die Obergrenze zu beeinflussen, müssen wir /etc/systemd/system.conf mit derselben Änderung ändern.

Die Änderungen, die ich in /etc/pam.d vorgenommen habe, waren nicht notwendig. Zumindest unter Ubuntu funktioniert dies bereits. Außerdem war es nicht erforderlich, die Einstellungen für root und * in limits.conf zu ändern. Das Ändern der Grenzwerte für mkasberg war zumindest für meinen Anwendungsfall ausreichend.


In Summe

Wenn Sie das durch ulimit -n angezeigte Limit erhöhen möchten, sollten Sie:

  • Ändern Sie /etc/systemd/user.conf und /etc/systemd/system.conf mit der folgenden Zeile (dies übernimmt die grafische Anmeldung):

    DefaultLimitNOFILE=65535
    
  • Ändern Sie /etc/security/limits.conf mit den folgenden Zeilen (dies kümmert sich um die Nicht-GUI-Anmeldung):

    mkasberg hard nofile 65535
    mkasberg soft nofile 65535
    
  • Starten Sie Ihren Computer neu, damit die Änderungen wirksam werden.

46
mkasberg

Die Datei /etc/security/limits.conf muss nicht geändert werden. Sie wird ignoriert, wenn Sie systemd verwenden.

(Wiedergabe einer geänderten Antwort auf eine andere Frage im Netzwerk ...)

Eine Alternative für diejenigen, die die Standarddateien /etc/systemd/system.conf und /etc/systemd/user/conf nicht bearbeiten möchten:

  1. erstelle eine neue Datei /etc/systemd/system.conf.d/limits.conf mit diesen Inhalten:

    [Manager]
    DefaultLimitNOFILE=65535
    
  2. starte systemctl daemon-reexec als root

  3. abmelden und erneut anmelden

  4. Überprüfen Sie Ihr neues Limit mit ulimit -n.

Weitere Informationen finden Sie auf der Hilfeseite systemd-system.conf .

9
Marc.2377

Unter Ubuntu 17.04 habe ich das beschriebene Hard Limit bekommen:

[email protected]:~$ ulimit -Hn
4096

Ich könnte es mit ulimit senken, aber nicht erhöhen, so wie die Frage es beschreibt. ulimit manual beschreibt:

nur root kann das hard limit erhöhen.

Also habe ich versucht, ein höheres Limit in /etc/security/limits.conf zu setzen:

user hard nofile 9999

und ein neuer Login wie ssh localhost -l user hat mir das neue Limit gegeben:

[email protected]:~$ ulimit -Hn
9999

Ich hoffe, das funktioniert auch für Sie.

0
Paresh Chauhan