mongod, mac os x - ostrzeżenie o limitach r [zamknięte]


169

Używałem mongo na moim Mac OS X 10.8 i nagle wczoraj w moich logach pojawiło się to ostrzeżenie (i przy uruchamianiu powłoki też jest obecne) -

UWAGA: zbyt niskie miękkie krawędzie. Liczba plików to 256, powinna wynosić co najmniej 1000

Kto mógłby wyjaśnić, co to znaczy? Czy powinienem jakoś zwiększyć liczbę rlimitów ?




@JoachimIsaksson dzięki, ale zastanawiam się, czy naprawdę muszę je zwiększać?
Kosmetika

@Kosmetika To zależy od obciążenia. Nie mogę odpowiedzieć na mongod w szczególności, ale bazy danych w ogóle wydają się mocno lubię wyczerpaniu deskryptorów.
Joachim Isaksson

2
Podczas opracowywania ulimit powinien być dość niski. Niski rlimit / ulimit pomoże ci wykryć, kiedy nie możesz zamknąć połączeń db.
Mike Graf

Odpowiedzi:


151

na Macu prawdopodobnie używasz mongodb do celów programistycznych. Jeśli tak, możesz to zignorować.


3
Ignoruję to, ale jestem trochę zdezorientowany, dlaczego nie pojawił się na początku używania mongodb
Kosmetika

45
„rlimit” jest związane z ilością pamięci przydzielonej procesowi. To rzecz os. W tym przypadku pamięć przydzielona procesowi mongod. Więc mongodb narzeka, że ​​przydzielona pamięć jest niska i może działać wolno. Myślę, że to jest w porządku na komputerze deweloperskim. Ale jeśli czytasz te na produkcji, zdecydowanie musisz zwiększyć ten limit.
Aniruddha

32
po prostu wpisz „ulimit -n 2048” lub coś wyższego i nie będzie narzekać
ski_squaw,

45
Ma dla mnie. Musisz go wywołać przed uruchomieniem serwera: ulimit -n 2048 && mongod; potem nie powinieneś już widzieć błędu.
Christian Fritz

13
W moim przypadku musiałem zrobić ulimit -n 2048na tej samej karcie terminala, w którym uruchamiam proces mongod. Wygląda na to, że trzeba go również ponownie uruchomić. Robienie tego w innych zakładkach nie zadziałało.
scaryguy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.