mongod, mac os x - cảnh báo rlimits [đã đóng]


169

Tôi đã sử dụng mongo trên máy mac os x 10.8 của tôi và đột nhiên ngày hôm qua tại nhật ký của tôi xuất hiện cảnh báo này (và khi bắt đầu trình bày, nó cũng xuất hiện) -

CẢNH BÁO: rlimits mềm quá thấp. Số lượng tệp là 256, ít nhất là 1000

Ai có thể giải thích, nó có nghĩa là gì? Và tôi có nên tăng số lượng rlimits bằng cách nào đó?




@JoachimIsaksson cảm ơn, nhưng tôi tự hỏi tôi có thực sự cần phải tăng chúng không?
Kosmetika

@Kosmetika Điều đó phụ thuộc vào tải. Tôi không thể trả lời cho mongod nói riêng, nhưng cơ sở dữ liệu nói chung có xu hướng mạnh mẽ không thích chạy ra khỏi file descriptor.
Joachim Isaksson

2
Trong quá trình phát triển, bạn nên giữ ulimit khá thấp. Có rlimit / ulimit thấp sẽ giúp bạn phát hiện khi bạn không đóng các kết nối db.
Mike Graf

Câu trả lời:


151

trên mac, có lẽ bạn đang sử dụng mongodb cho mục đích phát triển. Nếu có, thì bạn có thể bỏ qua điều này.


3
Tôi đang phớt lờ nó, nhưng tôi hơi bối rối tại sao nó không xuất hiện khi bắt đầu sử dụng mongodb
Kosmetika

45
'rlimit' có liên quan đến lượng bộ nhớ được phân bổ để xử lý. Điều os của nó. Trong trường hợp này bộ nhớ được phân bổ cho quá trình mongod. Vì vậy, mongodb phàn nàn với bạn rằng bộ nhớ được phân bổ thấp và nó có thể chậm. Tôi đoán đó là ok trên máy phát triển. Nhưng nếu bạn đọc những thứ đó trên sản xuất, bạn chắc chắn cần phải tăng giới hạn đó.
Aniruddha

32
chỉ cần gõ "ulimit -n 2048" hoặc một cái gì đó cao hơn và nó sẽ không phàn nàn
Ski_squaw

45
Nó có cho tôi. Bạn cần gọi nó trước khi khởi động máy chủ: ulimit -n 2048 && mongod; Sau đó, bạn sẽ không còn thấy lỗi.
Christian Fritz

13
Trong trường hợp của tôi, tôi đã phải làm ulimit -n 2048cùng một tab thiết bị đầu cuối mà tôi bắt đầu quá trình mongod. Có vẻ như nó cũng cần phải được khởi động lại. Làm như vậy tại các tab khác đã không làm việc.
đáng sợ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.