2011-09-28 37 views
24

Tôi đang tạo trình kiểm tra tải sử dụng libev để tạo nhiều kết nối tcp mở cho ứng dụng tôi đang thực hiện. Hiện nay nó bom ra tại 256 kết nối, do giới hạn nofiles:Làm thế nào để tăng giới hạn trên ổ cắm trên OSX để kiểm tra tải?

ulimit -n 
256 

tôi có thể tăng này đến 1024 bằng cách làm như sau:

ulimit -n 1024 

Nhưng tôi không thể tăng hơn nữa. Lý tưởng nhất là tôi muốn đặt nó thành 1048576. Nó cung cấp cho các lỗi sau:

ulimit: open files: cannot modify limit: Invalid argument 

Làm thế nào tôi có thể tăng thêm ulimit trên OSX?

Trả lời

47

(câu trả lời được cập nhật để sử dụng -S như nhiều người nói rằng)

$ sysctl kern.maxfiles 
kern.maxfiles: 12288 
$ sysctl kern.maxfilesperproc 
kern.maxfilesperproc: 10240 
$ sudo sysctl -w kern.maxfiles=1048600 
kern.maxfiles: 12288 -> 1048600 
$ sudo sysctl -w kern.maxfilesperproc=1048576 
kern.maxfilesperproc: 10240 -> 1048576 
$ ulimit -S -n 
256 
$ ulimit -S -n 1048576 
$ ulimit -S -n 
1048576 
+1

Odd - tôi đã thử trên mac nhà của tôi (báo tuyết) và nó không hoạt động, nhưng trên mac công việc của tôi (cũng báo tuyết) nó làm việc tốt. Hmm ... – Chris

+0

Chính xác những gì không hoạt động - bạn có nhận được thông báo lỗi nào không? – Grrrr

+0

Bạn có thể xây dựng trên các cài đặt này không? Tôi giả sử 'maxfilesperproc' có nghĩa là" cho mỗi quá trình ", và nó có nghĩa là nó phải nhỏ hơn' maxfiles', nhưng có lý do nào mà bạn chọn con số cụ thể đó không? –

2

Hãy thử chạy dưới dạng gốc (ví dụ: thực hiện "sudo -s" trước khi chạy lệnh ulimit và chương trình của bạn).

Lưu ý rằng tôi không chắc chắn rằng ổ cắm 1 triệu cộng với TCP cùng một lúc là thực tế có thể đạt được (mặc dù tôi là thú vị trong buổi điều trần về những gì sẽ xảy ra khi bạn cố gắng nó; ^))

Ngoài ra, kiểm tra ra this.

+0

Vâng, kết nối 1M có thể không thực tế nhưng chúng tôi sẽ xem tôi có thể đi bao xa. Chỉ không muốn bị giới hạn giả tạo bởi các vết loét. – Chris

2

Một điều nữa: Giới hạn trên các cổng là 65535. Vì vậy, bạn có thể không nhận được nhiều như bạn muốn.

Các vấn đề liên quan