Linux

ulimit - Was ist das? Mit "ulimit" können Ressourcen (für die Shell) angezeigt und festgelegt werden. Das ganz kurz und (fast) nichts-aussagend.

Zum besseren Verständnis kann man dich mal die "Limits" anzeigen lassen: ulimit -a

core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 30 file size (blocks, -f) unlimited pending signals (-i) 23261 max locked memory (kbytes, -l) 40000 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 65 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 23261 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited Es werden also Werte definiert, die des Nutzers Möglichkeiten begrenzen, auf das das System gesund bleibe. :-)

Manchmal, vor allem dann, wenn man komplexere Applikationen betreiben will, müssen diese Begrenzungen aufgeweicht werden. Dieses lässt sich im Falle der "möglichen, offenen Dateien" wie folgt festlegen. ulimit -n 2048 Nun wurde der Standardwert verdoppelt.

Es ist natürlich unbefriedigend immer erst die "Limits" zu ändern, um arbeiten zu können. Und so stellt sich die Frage:

Wie mache ich ulimit permanent?

Mein erster Ansatz - weil ich keine Lust hatte mich mit dem Thema zu befassen - war: echo "ulimit -n 2048" >> /etc/rc.local

(An deiner Stelle würde ich nun einfach mal weiter lesen, da dieser Ansatz NICHT funktioniert.)

Ich musste mich also doch damit beschäftigen. ...und ich will das mal gar nicht zu spannend machen...

vi /etc/security/limits.conf

* hard nofile 2048 * soft nofile 2048

Das Schöne ist, dass man sich lediglich neu anmelden muss; Linux muss NICHT neu gestartet werden.