macOS 下修改 open files 数量
ab 压测的时候,慢慢调大并发数,当设置 300 并发时,ab 报错:
socket: Too many open files (24)
于是使用 ulimit -a
命令查看配置:
MCDTONY:~ cn-tonylu$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 2784
virtual memory (kbytes, -v) unlimited
发现 open files
数量只有 256 个,显然不能满足我在本地进行压测的需求。
于是手动修改之,执行 ulimit 命令发现又报错
sudo ulimit -n 65535
-bash: ulimit: open files: cannot modify limit: Invalid argument
macOS 果然跟 Linux 不一样。。。
网上搜了一下,找到一个解决方案:
echo kern.maxfiles=65535 | sudo tee -a /etc/sysctl.conf
执行效果:
MCDTONY:~ cn-tonylu$ echo kern.maxfiles=65535 | sudo tee -a /etc/sysctl.conf
Password:
kern.maxfiles=65535
然后再执行 ulimit -n 2000
即可。
再次使用 ulimit -a
命令查看,发现 open files 数量变为 2000 了。