如何增加在OSX上进行负载测试插座上的限制?如何增加在OSX上进行负载测试插座上的限制?(How t

2019-05-13 09:16发布

我创建一个使用libev创造大量开TCP连接到一个应用程序我工作的一个负载测试。 目前,它的炸弹在出去256个连接,由于NOFILES限制:

ulimit -n
256

我可以做下面增加这1024:

ulimit -n 1024

但我不能进一步增加它。 理想情况下,我想将它设置为1048576。它提供了以下错误:

ulimit: open files: cannot modify limit: Invalid argument

我怎样才能提高的ulimit进一步在OSX?

Answer 1:

(回答更新为使用-S几个评论者建议)

$ 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


Answer 2:

还有一两件事:在端口限制为65535。所以,只要你想,你可能无法得到尽可能多的。



Answer 3:

尝试以root身份运行(例如运行ulimit命令和程序之前做一个“命令-s”)。

请注意,我不知道这一次1 000万美元以上的TCP套接字是现实可行的(虽然我在听到当你尝试会发生什么有趣; ^))

此外,检查出这个 。



文章来源: How to increase limits on sockets on osx for load testing?