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
quelle
DefaultLimitNOFILE=65535
hat den Trick gemacht. Aber warum/etc/security/limits.conf
geht das nicht?/etc/systemd/system.conf
) hat, die von der normalen Konfiguration für Terminalsitzungen (/etc/security/limits.conf
) unabhängig ist . Ich weiß nicht genug über systemd, um zu wissen, warum es auf diese Weise implementiert wurde.root
Benutzer nicht durch*
oder Gruppenbezeichner angegeben werden können.root
Literal muss explizit angegeben werden.Die
/etc/security/limits.conf
Datei 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 den Standard
/etc/systemd/system.conf
und die/etc/systemd/user/conf
Dateien nicht bearbeiten möchten :erstelle eine neue Datei
/etc/systemd/system.conf.d/limits.conf
mit diesen Inhalten:systemctl daemon-reexec
als root ausführenAbmelden und erneut anmelden
Überprüfen Sie Ihr neues Limit mit
ulimit -n
.Weitere Informationen finden Sie auf der
systemd-system.conf
Manpage .quelle
/etc/systemd/system.conf
. Die Änderung dort vorzunehmen scheint den Trick getan zu haben, danke.Unter Ubuntu 17.04 habe ich das beschriebene Hard Limit bekommen:
Ich könnte es mit senken
ulimit
, aber nicht erhöhen, so wie die Frage es beschreibt.ulimit
Handbuch beschreibt:Also habe ich versucht, ein höheres Limit
/etc/security/limits.conf
wie folgt festzulegen :und ein neuer Login wie
ssh localhost -l user
gab mir das neue Limit:Ich hoffe, das funktioniert auch für Sie.
quelle
Bearbeiten Sie /etc/systemd/system/sonar.service
Fügen Sie diese beiden Zeilen unter Service hinzu
[Bedienung]
LimitMEMLOCK = unendlich
LimitNOFILE = 65535
das funktioniert bei mir
quelle
TL; DR Ich hatte das Bedürfnis, die Antworten zu konzentrieren, damit sie leichter zu finden sind. Ich brauchte eine Ewigkeit, um alle Teile zusammenzubringen, damit es richtig funktioniert ...
Es sind 2 Standorte zu berücksichtigen.
GUI-Sitzung
oder besser hier:
Shell-Umgebung
oder besser hier:
Nachdem Sie die Einstellungen in den obigen Dateien geändert haben, starten Sie den Computer neu und überprüfen Sie die Grenzwerte mit:
ulimit -n -Hn -Sn
quelle