Maximale offene Dateien pro User

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Hosenknopf
Beiträge: 105
Registriert: 28.09.2003 11:04:43
Wohnort: Hannover

Maximale offene Dateien pro User

Beitrag von Hosenknopf » 30.07.2007 16:45:19

Hi,

ich hatte das Problem, dass auf meinem Webserver die Meldung kam "too many open files", das ganze war ein Programmierfehler, ist also gelöst dennoch würd ich das ganze gern verstehen.

Ich kann ja per /etc/security/limits.conf definieren, wieviele Processe etc. ein User gleichzeitig öffnen kann und so weiter, wenn die Datei (so wie bei mir) quasi leer ist, wie kann dann die Meldung "too many open files" entstehen?

An file-max kann es doch nicht liegen, oder?

Code: Alles auswählen

# sysctl fs.file-nr
fs.file-nr  = 1536  0  156067
Es waren definitiv keine 150.000 Dateien geöffnet. Evt 2000 oder so, die genaue Zahl weiss ich net mehr.

Hosenknopf

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 30.07.2007 18:15:02

Die Zahl in

Code: Alles auswählen

/proc/sys/fs/file-max
wurde ueberschritten.

Hosenknopf
Beiträge: 105
Registriert: 28.09.2003 11:04:43
Wohnort: Hannover

Beitrag von Hosenknopf » 30.07.2007 20:14:11

Der 3 Wert von file-nr ist file-max (in dem Fall 156067). Wenn dem so ist, dann haette ich ja per lsof ueber 150.000 offene Dateien sehen müssen, dem war aber nicht so.

Deswegen meine Frage, ob es an dem User-Limit liegen kann, wenn es denn sowas gibt. Bislang konnte ich hierzu nix finden.

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 30.07.2007 20:18:08

Hosenknopf hat geschrieben:Wenn dem so ist, dann haette ich ja per lsof ueber 150.000 offene Dateien sehen müssen, dem war aber nicht so.
Der Wert in file-max ist systemweit ein einzelner User muss also nicht 150.000 oeffnen um das zu erreichen.
Hosenknopf hat geschrieben:Deswegen meine Frage, ob es an dem User-Limit liegen kann, wenn es denn sowas gibt. Bislang konnte ich hierzu nix finden.

Code: Alles auswählen

ulimit

Hosenknopf
Beiträge: 105
Registriert: 28.09.2003 11:04:43
Wohnort: Hannover

Beitrag von Hosenknopf » 31.07.2007 08:34:46

ja aber es waren definitiv keine 150000 Dateien offen, somit die Vermutung ob standartmaessig ein einzelner User eine Begrenzung hat.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 31.07.2007 08:49:51

Hosenknopf hat geschrieben:somit die Vermutung ob standartmaessig ein einzelner User eine Begrenzung hat.
kannst du mit "ulimit -n" überprüfen, mit "ulimit -n 2048" kannst du eine neues Limit, für die aktuelle Shell und ihre Child-Prozesse festlegen. Dieser Wert muß kleiner dem sogenannten Hard-Limit liegen, welches in der /etc/security/limits.conf konfiguriert werden kann. Das Soft-Limit, also die Default-Einstellung kannst du auch dort konfigurieren
Wenn dort nichts konfiguriert wurde, werden irgendwelche Standard-Einstellungen herangezogen, wobei mir aber auch nicht bekannt ist, wo diese definiert sind ( vielleicht bash oder libc oder pam ?). Ist aber eigentlich auch egal


Gruß
gms

Hosenknopf
Beiträge: 105
Registriert: 28.09.2003 11:04:43
Wohnort: Hannover

Beitrag von Hosenknopf » 31.07.2007 10:20:20

ok, danke, interessant waer jetzt nur noch, woher er die 1024 bekommt. Aber dat reicht mir vorerst als Info ;-)

Antworten