mongod, mac os x - rlimits Warnung [geschlossen]

169

Ich habe Mongo auf meinem Mac OS X 10.8 verwendet und gestern erschien plötzlich in meinen Protokollen diese Warnung (und beim Starten der Shell ist sie auch vorhanden) -

WARNUNG: weiche Grenzen zu niedrig. Die Anzahl der Dateien beträgt 256, sollte mindestens 1000 sein

Wer könnte erklären, was bedeutet das? Und sollte ich die Anzahl der Grenzen irgendwie erhöhen ?

Kosmetika
quelle
@ JoachimIsaksson danke, aber ich frage mich, muss ich sie wirklich erhöhen?
Kosmetika
@ Kosmetika Das würde von der Last abhängen. Ich kann nicht für mongod insbesondere beantworten, aber Datenbanken im Allgemeinen neigen dazu, stark Abneigung gegen Filedeskriptoren zur Neige.
Joachim Isaksson
2
In der Entwicklung sollten Sie das Ulimit ziemlich niedrig halten. Wenn Sie ein niedriges Limit / Ulimit haben, können Sie erkennen, wenn Sie die Datenbankverbindungen nicht schließen können.
Mike Graf

Antworten:

151

Auf dem Mac verwenden Sie wahrscheinlich Mongodb für Entwicklungszwecke. Wenn ja, können Sie dies ignorieren.

Aniruddha
quelle
3
Ich ignoriere es, aber ich bin ein bisschen verwirrt, warum es zu Beginn der Verwendung von Mongodb
Kosmetika
45
'rlimit' bezieht sich auf die dem Prozess zugewiesene Speichermenge. Es ist eine Sache. In diesem Fall wird dem Mongod-Prozess Speicher zugewiesen. Also beschwert sich Mongodb, dass der zugewiesene Speicher niedrig und möglicherweise langsam ist. Ich denke, das ist auf der Entwicklungsmaschine in Ordnung. Aber wenn Sie diese in der Produktion lesen, müssen Sie diese Grenze trotzig erhöhen.
Aniruddha
32
Geben Sie einfach "ulimit -n 2048" oder etwas höheres ein und es wird sich nicht beschweren
ski_squaw
45
Es hat für mich. Sie müssen es aufrufen, bevor Sie den Server starten: ulimit -n 2048 && mongod; Danach sollte der Fehler nicht mehr angezeigt werden.
Christian Fritz
13
In meinem Fall musste ich ulimit -n 2048an derselben Terminal-Registerkarte arbeiten, an der ich den Mongod-Prozess gestartet habe. Scheint, als müsste es auch neu gestartet werden. Dies auf den anderen Registerkarten zu tun, hatte nicht funktioniert.
Scaryguy