- Ist
maxfiles 256
vonlaunchctl limit maxfiles
einem pro-Prozess-Limit?
Ja. launchctl limit maxfiles
Gibt die pro-prozessualen Soft- und Hard-Limits aus getrlimit(2)
, deren Berichtsseite Folgendes angibt:
Ein Ressourcenlimit wird als Soft-Limit und Hard-Limit angegeben. Wenn ein weicher Grenzwert überschritten Ein Prozess kann ein Signal empfangen (z. B. wenn CPU-Zeit oder Dateigröße überschritten), es wird jedoch erlaubt, bis zur Erreichung der harten Grenze (oder zur Änderung der Ressource) Grenze).
getrlimit(2)
Anscheinend ulimit
erhält der eingebaute Befehl der Shell seine Informationen.
- Warum unterscheidet
launchctl limit maxfiles
sich vonkern.maxfiles
undkern.maxfilesperproc
?
launchctl limit maxfiles
meldet die prozessbezogenen Soft- und Hard-Limits, die launchd Prozessen auferlegt. launchd schreibt anscheinend ein Soft-Limit von 256 und ein "unbegrenztes" Hard-Limit vor, was bedeutet, dass es nur durch kern.maxfilesperproc
den Kernel begrenzt wird, nicht durch launchd
.
kern.maxfiles
ist die Grenze der gesamten Dateideskriptoren im gesamten System; die Summe aller geöffneten Dateien für alle Prozesse sowie alle Dateien, die der Kernel für eigene Zwecke geöffnet hat.
- Welches Limit (
maxfiles 256
oderkern.maxfilesperproc: 10240
) wird für eine Anwendung angewendet, die von einem Benutzer manuell aus Anwendungen gestartet wird?
Eine Anwendung, die manuell von einem Benutzer gestartet wird, der eine App über die GUI startet, erbt das vom Launchd- kern.maxfilesperproc
System festgelegte Soft-Limit von 256 und das unbegrenzte Hard-Limit. Das harte Limit wird also effektiv sein, vorausgesetzt, es gibt genügend freie Dateideskriptoren auf dem System der App kann sein Limit erreichen, bevor das gesamte System erreicht wird kern.maxfiles
.
Prozesse (Apps) können auch Systemaufrufe verwenden, um ihre Soft-Limits anzupassen, wenn sie ausgeführt werden. Das Soft-Limit von 256 ist also nur die Standardeinstellung zum Startzeitpunkt, und Ihre App / Ihr Prozess kann das eigene Soft-Limit sofort erhöhen.