Dauerhafte Erhöhung der Nofile-Limits in Ubuntu 14.04 LTS

12

Ich kann anscheinend nicht herausfinden, was genau erforderlich ist, damit die maximale Anzahl von Dateideskriptoren für alle Benutzer dauerhaft erhöht werden kann.

/etc/security/limits.conf::

root    hard    nofile    1500000
root    soft    nofile    1000000
root    hard    nproc     15000
root    soft    nproc     10000
*       hard    nofile    1500000
*       soft    nofile    1000000
*       hard    nproc     15000
*       soft    nproc     10000

Ich habe folgendes in die eingefügt /etc/pam.d/common-session:

session required pam_limits.so

Nach einem Neustart führte die Anmeldung als Benutzer und die Ausgabe ulimit -nzu 1024.

Danach habe ich versucht, pam_limits.soin jede Datei unter zu fordern /etc/pam.d. Neustart. Eingeloggt. Kein Glück.

Wenn ich den Befehl ulimit -n 1000000erteile, überprüfen Sie, ob das Limit wie erwartet festgelegt ist. So stellte ich @reboot ulimit -n 1000000in crontab -e. Neustart. Eingeloggt. Kein Glück.

Ich habe geprüft /etc/ssh/sshd_configund PAM ist aktiviert.

Ich habe versucht, die Grenzwerte bei jedem Neustart festzulegen mit:

/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p

Kein Glück.

Ich habe einen Server mit einer Menge gleichzeitigem Datenverkehr und benötige diese Grenzwerte so hoch, da der Server sehr lange braucht, um Dateideskriptoren zu löschen. Was muss ich tun, um das Dateideskriptor-Limit dauerhaft zu erhöhen?

w3rthl3ss
quelle

Antworten:

11

Ich habe die Anzahl der Dateilimits für alle auf diese Weise erhöht (Segment von /etc/security/limits.conf):

#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)

Das war auf einem 12.04 Server. Ich habe jedoch 100000 auf meinem 14.04-Server getestet und es hat gut funktioniert.

~/config/security$ ulimit -n
16384
Doug Smythies
quelle
2
Das hatte immer noch keine Wirkung. Musstest du session require pam_limits.soirgendwo platzieren?
w3rthl3ss
Nein. Ich habe gerade die Bearbeitung als sudo durchgeführt und neu gestartet, bevor das ulimit 1024 und nach dem ulimit auf meinem 14.04-Testserver 100000 war.
Doug Smythies
Einfach /etc/security/limits.confalles andere anzupassen und wieder auf Lager zu bringen, hat funktioniert. Vielen Dank!
w3rthl3ss
Kein Neustart erforderlich, nur Abmelden / Anmelden.
Jacob
@ w3rthl3ss Wie sieht Ihre limit.conf aus? Ich habe das gleiche Problem und die gleichen Referenzzwecke
Rizwan Patel