Sie könnten immer versuchen, eine ulimit -n 2048
. Dadurch wird nur das Limit für Ihre aktuelle Shell zurückgesetzt, und die von Ihnen angegebene Anzahl darf das harte Limit nicht überschreiten
Jedes Betriebssystem verfügt in einer Konfigurationsdatei über ein anderes Hard-Limit-Setup. Beispielsweise kann das Limit für fest geöffnete Dateien unter Solaris beim Booten von / etc / system festgelegt werden.
set rlim_fd_max = 166384
set rlim_fd_cur = 8192
Unter OS X müssen dieselben Daten in /etc/sysctl.conf festgelegt werden.
kern.maxfilesperproc=166384
kern.maxfiles=8192
Unter Linux befinden sich diese Einstellungen häufig in /etc/security/limits.conf.
Es gibt zwei Arten von Grenzen:
- Soft Limits sind einfach die derzeit erzwungenen Limits
- Harte Grenzwerte markieren den Maximalwert, der durch Festlegen eines weichen Grenzwerts nicht überschritten werden kann
Weiche Grenzwerte können von jedem Benutzer festgelegt werden, während harte Grenzwerte nur von root geändert werden können. Limits sind eine Eigenschaft eines Prozesses. Sie werden vererbt, wenn ein untergeordneter Prozess erstellt wird. Daher sollten während der Systeminitialisierung in Init-Skripten systemweite Grenzwerte festgelegt werden und Benutzerbeschränkungen während der Benutzeranmeldung festgelegt werden, z. B. mithilfe von pam_limits.
Beim Starten der Maschine werden häufig Standardeinstellungen festgelegt. Auch wenn Sie Ihr ulimit in einer einzelnen Shell zurücksetzen, stellen Sie möglicherweise fest, dass es beim Neustart auf den vorherigen Wert zurückgesetzt wird. Möglicherweise möchten Sie Ihre Boot-Skripte nach den vorhandenen ulimit-Befehlen durchsuchen, wenn Sie die Standardeinstellung ändern möchten.