
Was ist die standardmäßige Speicherzuweisung für Shell-Prozesse unter Linux? Gibt es also eine Obergrenze für Shell-Prozesse oder andere Prozesse?
Antwort1
Aus man bashbuiltins
:
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
Bietet Kontrolle über die der Shell und den von ihr gestarteten Prozessen zur Verfügung stehenden Ressourcen auf Systemen, die eine solche Kontrolle zulassen.
Wird verwendet ulimit -a
, um aktuelle Grenzwerte anzuzeigen.
Antwort2
Ressourcenbeschränkungen werden im Allgemeinen ulimit
(benutzerbasiert) oder sysctl
(systembasiert) gesteuert.
Beispielsweise definiert der kernel.shmmax
von festgelegte Parameter sysctl
die maximale Größe eines einzelnen gemeinsam genutzten Speichersegments in Bytes, das ein Linux-Prozess in seinem virtuellen Adressraum zuordnen kann.
ulimit
wird verwendet, um die Grenzen normaler Benutzerprozesse festzulegen. Diese Werte werden normalerweise /etc/security/limits.conf
als Standardwerte konfiguriert, können aber pro Benutzer/pro Sitzung geändert werden. Sie haben sowohl harte als auch weiche Grenzen.