2016-06-26 13 views
1

ich eine Frage über Begrenzung FD (Filedeskriptoren) habe:über die Anzahl der Datei-Deskriptoren Begrenzung

, wenn ich „ulimit -n 1000000“ verwenden, bedeutet dies, dass das Programm höchstens 1000000 FD verwenden darf Ressourcen,

jedoch "cat/proc/sys/fs/file-max" zeigt, dass 803.766 FDs insgesamt verfügbar sind, die kleiner als 1000000

So ist, was die Anzahl der FD auf earch ist das das Programm kann 1000000 oder 803766 verwenden?

+2

getrlimit(), setrlimit(), und überprüfen Sie den Rückgabewert! RLIMIT_NOFILE ist, was Sie interessiert. – wildplasser

Antwort

1

/proc/sys/fs/file-max hat Vorrang vor allen ulimit-Einstellungen in der Shell.

Mehr über /proc/sys/fs/file-max ist die Gesamtzahl der FD offen für alle Prozesse auf bestimmten Maschinen.

ulimit Einstellungen sind pro Prozess, so dass jeder neu gestartete Prozess ein Limit haben wird (es sei denn, das Gesamtformular file-max wird im System überschritten).

+0

So meinst du, dass es nutzlos ist, wenn ulimit den Wert größer als den Wert aus/proc/sys/fs/file-max gesetzt? – ghostplant

+0

@ghostplant ja –

Verwandte Themen