Linux - ulimit permantent setzen

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.