2013-04-11 5 views
6

Ich lerne MongoDB und als ich die Mongo-Shell starte, erschien eine wilde Warnmeldung. Es sagt: enter image description hereErhöhen rlimit Mac OSX 10.8

Wie ändere ich die "weichen rlimits". Ich verwende Mac OSX 10.8.2

Tnx im Voraus

+1

die Warnung an Grenzen hier sollten Sie nicht beeinflussen, wenn Sie mit einer größeren Anzahl von Datendateien/Verbindungen arbeiten. Die standardmäßigen OS X-Grenzwerte sind im Allgemeinen für Lern- oder Entwicklungszwecke geeignet. – Stennie

+2

Sie haben Recht, aber ich mag keine Warnungen sehen :) (sogar im Dev-Modus) – crsuarezf

+1

@ingcarlos +1 cuz dachte ich, ich war der einzige :-P –

Antwort

8

Was Sie suchen, ist launchctl limit maxfiles.
Um es zu ändern, müssen Sie zum Beispiel den Befehl launchctl limit maxfiles 1024 2048 ausführen.
Um diese Werte dauerhaft zu ändern, müssen Sie /etc/launchctl.conf erstellen und dort die von Ihnen benötigten Werte festlegen (Details siehe here) oder den oben genannten Befehl zu Ihrem ~/.bash_profile hinzufügen.
Oder Sie können Skript erstellen, die Grenze gesetzt wird und dann starten Mongo

+2

Das hat nicht für mich auf OSX 10.8.4 . Wenn irgendjemand anderes Probleme mit 'ulimit -n 1024' hat, dann musste der obige Befehl – jwags

+0

als root ausgeführt werden (nicht über sudo). –

+0

Ich würde nicht empfehlen, das harte Limit auf 2048 zu setzen, es hat mein System gesperrt (Yosemite). Dumm mich, einen Befehl auszuführen, ohne zu überprüfen! Führen Sie "launchctl limit maxfiles" aus, um die aktuellen Grenzwerte zu sehen, und ändern Sie dann nur die weiche Grenze, z. In meinem Fall hatte ich "256 unlimited" (das erste ist weich, das zweite ist schwer), also habe ich "sudo launchctl limit maxfiles 1024 unlimited" ausgeführt. Was sie in der Praxis tatsächlich auf "1024 10240" gesetzt hat. Also am Ende funktioniert nur mit "ulimit -n 1024" (ohne sudo) für meinen eigenen Benutzer, der MongoDB läuft ... klingt wie eine bessere Lösung als systemweite Einstellungen zu ändern. – Kamal

0

ähnliche Probleme konfrontiert hat, und nach vieler Suche, fand ich this Antwort nützlich.

In dieser Übersicht wird erläutert, wie dieses Problem durch dedizierte Startdateien sowie durch Änderungen an der Sitzung behoben werden kann.

1

Wenn Sie Mongo als Dienst ausgeführt, können Sie die max geöffneten Dateien konfigurieren, indem Sie die folgenden Zeilen zur Ergänzung der

/Library/LaunchDaemons/org.mongodb.mongod.plist

<key>SoftResourceLimits</key> 
    <dict> 
    <key>NumberOfFiles</key> 
    <integer>1024</integer> 
    </dict> 

und starten Sie den Dienst

+1

In meinem Fall war die Datei _/Library/LaunchDaemons/org.mongo.mongod.plist_, alles andere ist gleich. Zum Neustart des Dienstes siehe: https://serverfault.com/questions/194832/how-to-start-stop-restart-launched-services-from-the-command-line – aspdeepak