Wie kann ich ein globales Nofile-Limit festlegen, um den Fehler "Viele offene Dateien" zu vermeiden?

Ich habe einen Websocket-Service. Es ist Strage, die Fehler haben: "zu viele offene Dateien", aber ich habe das System konfiguriert:

/etc/security/limits.conf
*               soft    nofile          65000
*               hard    nofile          65000

/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000

ulimit -n
//output 6500

Also denke ich, dass mein System richtig konfiguriert ist.

Mein Service wird vom Supervisor verwaltet. Ist es möglich, dass der Supervisor Grenzen hat?

Prozessstart durch Supervisor prüfen:

cat /proc/815/limits
Max open files            1024                 4096                 files 

Überprüfen Sie den manuellen Start des Prozesses:

cat /proc/900/limits
Max open files            65000                 65000                 files 

Der Grund dafür ist, dass der Supervisor die Dienste verwaltet. Wenn ich Supervisor neu starte und untergeordneten Prozess neu starte, ist es "max. offene Dateien" in Ordnung (65000), aber falsch (1024), wenn System Supervisor automatisch neu gestartet wird.

Möglicherweise ist die Supervisor-Startstufe zu hoch und die Systemkonfiguration funktioniert nicht, wenn der Supervisor startet.

bearbeiten:

System: Ubuntu 12.04 64bit

Es ist kein Supervisor-Problem, alle automatischen Startvorgänge nach dem Neustart des Systems werden nicht mit Systemkonfiguration ausgeführt (max. Offene Dateien = 1024), aber ein Neustart ist in Ordnung.

aktualisieren

Vielleicht ist das Problem:

https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/Erhöhen Sie die maximale Anzahl offener Dateien für Ubuntu / Upstart (initctl)

Die Frage ist nun, wie man ein globales Nofile-Limit setzt, weil ich nicht in jedem Upstart-Skript, das ich brauche, ein Nofile-Limit setzen möchte.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage